log4j.additivity是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下子Logger 会继承 父Logger 的appender,也就是说 子Logger 会在 父Logger 的appender里输出。若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在父Logger 的appender里输出。
如:
log4j.rootLogger=INFO, stdout,logfile
log4j.logger.com.lwt=INFO, testout
则com.lwt包及其子包下的Logger不光在Appender testout里输出,也会在rootLogger的Appender stuout和logfile中输出;
若想让com.lwt包及其子包下的Logger只在Appender testout中输出,则在log4j.properties中添加下行即可:
log4j.additivity.com.lwt=false
如:
log4j.rootLogger=INFO, stdout,logfile
log4j.logger.com.lwt=INFO, testout
则com.lwt包及其子包下的Logger不光在Appender testout里输出,也会在rootLogger的Appender stuout和logfile中输出;
若想让com.lwt包及其子包下的Logger只在Appender testout中输出,则在log4j.properties中添加下行即可:
log4j.additivity.com.lwt=false