java服务器端的日志开发流程

[size=x-large]流程:[/size]
[color=red]
因为我们要操作的是日志文件。而日志文件是位于文件夹LoG下面的,因此我们要得到日志文件的路径就应该首先获得LoG 文件夹的路径。日志文件的路径就等于LOG文件夹[/color]
[color=blue]的路径加上日志文件的名字;因此首先得到LOG文件夹的路径。通过SYSTEM的GETPROPERTY(”user.dir“)方法来获得用户当前的工作目录;LOG文件的路径就等于用户的工作目录加

[color=darkred]加上文件分隔符在加上文件名;在此由于不同的操作系统不一样,其文件分隔符也不一样,所以应该动态的去获得当前系统的文件分隔符,采用SYStem ,getproperty[/color]
("file.separator")来获得, 因此日志文件夹LOG的路径为String s=System.getProperty("user.dir")+System.getProperty("file.separator")+"log"; 但是由于字符串的链接[/color]是在静态常量区中来进行的,而且是不会被垃圾回收所回收的,这样的情况。我们考虑使用STRINGBUFFER 和STRINGBUILDER 通过这两个类的APPEND()方法来进行字符串的连接。

在此由于我们这个日志是多用户的,是开启多个线程的。所以STRINGBUFFER不能用 ,因为它是线程安全的。不能同时几个线程一起访问。所以选用了STRINGBUILDER类。

得到了LOG文件夹的路径之后,我们就应该去得到日志的文件名了。观察出:日志文件名=类名+.log.+当前日期

那么我们应该在定义一个方法来取得当前的日期,并且格式化该日期:

1)通过Calendar的GetInstece()方法来获得一个Calendar的对象,并用这个对象的GETTIME()方法取得当前时间
2)通过SimpleDateFormat类来格式化时间。

得到想要的日期以后就应该得到类名了: 因为在此已经知道类的情况我们直接利用 类名.CLASS取得类模板。然后用类模板的到该类的名字。在此需要注意的是如果我们直接

利用GETNAME()这个方法会得到他的包名。所以我们采用另外一个方法getSimpleName(),这样取得的就是只有类名了。

完成上面3个步骤之后:我们便可以得出日志文件的路径 = LOG文件的路径+文件分隔符+类名+.log.+当前日期 ;

我们还可以判断LOG文件是不是已经存在。如果存在判定其是不是文件夹,如果不是文件夹就删除。如果不存在我们就创建一个文件。NEW FiLE(文件夹的路径)通过FiLE。isDirectory 判定是不是文件夹 ,如果不是就删除。 通过EXITES()方法判定 文件夹存在不。如果不存在通过MKDIR()创建。

做好上面的之后。我们就可以向文件中写东西了。定义一个方法。NEW FILEOUTPUTSTREAM(文件路径,TRUE) 在此应该注意构造时应该选择两个参数的,后面的参数必须是TRUE 如果不是TRUE ,那么当我们以后再写入的时间就会覆盖之前的。 就没有日志的意义了。

最后我们做的是对我们写入的东西进行了一步格式化:2009-12-02 9:4:27 [com.lovo.lis.util.Logger]-INFO: 写入的信息

[color=cyan]观察上面的格式:

1)首先要做的就是得到当前的 时。分。秒 那么我们另行定义一个方法取得;

2)这里的信息有类名其包含包名。因此用类模板的GETNAME()取得

3)有了上面的这些之后 就是进行字符串的连接了.当然也可以用Stringbuilder。[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值