Log4j additivity属性详解

Log4j中additivity的属性为true/false,它是子Logger 是否继承父Logger 的输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。

实例

想让com.test包及其子包下的Logger只在本Appender中输出

//log4j.properties
log4j.additivity.com.test=false 

//log4j.xml
<logger name="com.test" additivity="false">
<level value="INFO" />
<appender-ref ref="logfile" />
</logger>

总结

1. loj4j默认情况下additivity为true

2. 某个logger的additivity设置为false,表示log只打印到本log的appender中,而不再打印到其父logger的appender。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。