【前言】听着音乐,总结前一阵子积攒的笔记,也是一种享受,每次总结出一个笔记,心里就变的很踏实。要学习的东西真多,有时候在想人一辈子能学到学习到多少技术,能够深入多少技术,大概这个答案就在朝夕的努力中吧
在使用log4j时,发现在父级logger日志文件中记录着子级logger的日志,为了将日志划分清楚,找到了log4j的additivity属性:
它是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。
使用例子:下面是一个log4j的配置文件,父logger是root,子logger是org.zblog.opr
log4j.rootCategory=, A0
log4j.appender.A0=org.apache.log4j.RollingFileAppender
log4j.appender.A0.file=./root.log
log4j.appender.A0.MaxFileSize=500KB
log4j.appender.A0.MaxBackupIndex=10
log4j.appender.A0.layout=org.apache.log4j.PatternLayout
log4j.appender.A0.layout.ConversionPattern=%d{yyyy-MM-dd} %d{HH:mm:ss,SSS} %-4r %p: (%l) %m %n
log4j.category.org.zblog.opr=DEBUG,A1
log4j.appender.A1 = org.apache.log4j.RollingFileAppender
log4j.additivity.org.zblog.opr=false ——指定子logger org.zblog.opr的日志不会出现在root.log中,默认是true
log4j.appender.A1.file=./operation.log
log4j.appender.A1.MaxFileSize=500KB
log4j.appender.A1.MaxBackupIndex=10
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd} %d{HH:mm:ss,SSS} %-4r %p: (%l) %m %n
log4j.category.org.zblog.sys=DEBUG,A3
log4j.appender.A3 = org.apache.log4j.RollingFileAppender
log4j.appender.A3.file=./running.log
log4j.appender.A3.MaxFileSize=500KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=%d{yyyy-MM-dd} %d{HH:mm:ss,SSS} %-4r %p: (%l) %m%n