log4j 分不同目录输出-properties版
思路:root会有一个默认级别级别,如果appender不指定自己的级别的话,那么它就是root这个级别的。
如下:? log4j.rootLogger = [ level ] , appenderName1, appenderName2, …?
?
所以要想分不同目录输出,那么appender就要设置不同的且是比默认级别高的才行。
?
?
具体的log4j.properties如下,仔细看一遍就能理解了。
?
?
log4j.rootLogger = WARN,WARN1,ERROR1log4j.appender.WARN1=org.apache.log4j.RollingFileAppender#log4j.appender.WARN1.Threshold =WARNlog4j.appender.WARN1.File=D:/temp/testLog4j/WARN1/warn1.loglog4j.appender.WARN1.MaxFileSize=2048KBlog4j.appender.WARN1.MaxBackupIndex=10log4j.appender.WARN1.layout=org.apache.log4j.TTCCLayout#log4j.appender.WARN1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c:%L]-[%p] %m%n#每天文件的输出:DailyRollingFileAppenderlog4j.appender.ERROR1 = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.ERROR1.Threshold = ERRORlog4j.appender.ERROR1.File = D:/temp/testLog4j/error1/error1.loglog4j.appender.ERROR1.Append = true #默认为true,添加到末尾,false在每次启动时进行覆盖log4j.appender.ERROR1.ImmediateFlush = true #直接输出,不进行缓存# ' . ' yyyy - MM: 每个月更新一个log日志# ' . ' yyyy - ww: 每个星期更新一个log日志# ' . ' yyyy - MM - dd: 每天更新一个log日志# ' . ' yyyy - MM - dd - a: 每天的午夜和正午更新一个log日志# ' . ' yyyy - MM - dd - HH: 每小时更新一个log日志# ' . ' yyyy - MM - dd - HH - mm: 每分钟更新一个log日志log4j.appender.ERROR1.DatePattern = ' . ' yyyy - MM - dd ' .log ' #文件名称的格式log4j.appender.ERROR1.layout = org.apache.log4j.PatternLayoutlog4j.appender.ERROR1.layout.ConversionPattern =%d %p [ %c] - %m %n %d?
?
?
上述文档执行的结果,在warn1.log里有warn和error的,在error1.log里面只有error的。
?
?
refurl:http://younglibin.iteye.com/blog/466745