它是 子Logger 是否繼承 父Logger 的 輸出源(appender)的標志位。具體說,默認情況下子Logger會繼承父Logger的appender,也就是說子Logger會在父Logger的appender里輸出。若是additivity設為false,則子Logger只會在自己的appender里輸出,而不會在父Logger的appender里輸出。
使用例子:下面是一個log4j的配置文件,父logger是timer和error,子logger是net
#
# Priority = {FATAL|ERROR|WARN|INFO|DEBUG}
#
# +---------------------------------------------------+
# | root |
# +---------------------------------------------------+
# Category - Root
# ================
log4j.rootLogger=info,timer,error
log4j.logger.timer=info,timer
log4j.additivity.timer=false
log4j.logger.net=info,net
log4j.additivity.net=false
log4j.logger.error=error,error
log4j.additivity.error=false
# Category - hibernate
# ========================================
log4j.category.org.springframework=ERROR
log4j.logger.com.mchange.v2=ERROR
# +---------------------------------------------------+
# | Appender |
# +---------------------------------------------------+
#
# %c Fully class name. 輸出所屬的類目,通常就是所在類的全名;
# %d Default is ISO8601. Custom:%d{yyy-MM-dd HH:mm:ss }, output example:2002-10-18 22:10:28
# %f Class name.
# %l Location and line number 輸出日志事件的發生位置,及在代碼中的行數;
# %m Message 輸出代碼中指定的消息;
# %n Nextline 輸出一個回車換行符,Windows平台為"rn”,Unix平台為"n”;
# %p Log priority 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL;
# %r Log consumed time 輸出自應用啟動到輸出該log信息耗費的毫秒數;
# %t Thread name 輸出產生該日志事件的線程名;
#
# Appender - stdout
# =========================================
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %l %p: %m%n
log4j.appender.stdout.encoding=UTF-8
log4j.appender.timer=org.apache.log4j.DailyRollingFileAppender
log4j.appender.timer.File=/data/timer_test/log/timer.log
log4j.appender.timer.layout=org.apache.log4j.PatternLayout
log4j.appender.timer.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %l %p: %m%n
log4j.appender.timer.encoding=UTF-8
log4j.appender.net=org.apache.log4j.DailyRollingFileAppender
log4j.appender.net.File=/data/timer_test/log/net.log
log4j.appender.net.layout=org.apache.log4j.PatternLayout
log4j.appender.net.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %l %p: %m%n
log4j.appender.net.encoding=UTF-8
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.Threshold=ERROR
log4j.appender.error.File=/data/timer_test/log/error.log
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %l %p: %m%n
log4j.appender.error.encoding=UTF-8