读书人

log4j 分不同索引输出-xml版

发布时间: 2012-08-30 09:55:54 作者: rapoo

log4j 分不同目录输出-xml版

据我目前的功力,也就是只能分2个不同的地方,且这2个地方互不干扰,相互独立。

?

如果这2者是相互重复的,那么这个就太容易了啊。直接设多个appender,然后file后面的地址写不一样就行了。


但是要考虑到,它们受level的影响,指定某个级别的level以上的level全是输出的。

?

下面将举个例子,利用的就是logger 和 root的区别!

?

完整的log4j.xml配置如下:

?

?

?

解释如下:1、root设的是全局的level,然后logger那段是要继承root的设置的,然而在我们这我们不想继续它,将additivity设为false即可。

?

2、对于file=地址,这里的地址可以用相对地址,不过在打包成jar后一般都不认识了。我暂时还没找到完美的方法,只能傻傻的用绝对路径,即D:/UA/UADebugLogs/debug.log。或者D:\\UA\\UADebugLogs\\debug.log。

?

3、对于DailyRollingFileAppender而言,当天的日志文件是不会加上日期的,只有昨天以前的文件前面才会加上日期。这一点请注意。

?

?

4、对于Logger的name的更深的理解:

?

?

private Logger logger=Logger.getLogger("result")和private Logger logger=Logger.getLogger(UACognos.class.getName())
?

一般我们都习惯用第2种方法,然后在log4j的输出文件中写的就是这个类的名字。而且这样写就意味必须继承root的设置。如果你不想继承root的话,那么就得像第一种写法一样,用指定的特殊的logger。

?

?

关于2、3两点,其实都可以写一博文来解释。会在csdn上写的。

?

?

refurl:1、http://ankyhe.iteye.com/blog/1143927

2、http://willow-na.iteye.com/blog/347340

3、http://zhangxiang390.iteye.com/blog/258455

?

?

?

读书人网 >XML SOAP

热点推荐