Bootstrap

【转】关于log4j.additivity的说明

首先,关于log4j的根记录器的定义是这样的,

log4j.rootLogger=DEBUG,CONSOLE,R

如果,我们有需要再定义一个子记录器,比如

log4j.logger.com.zy.service=DEBUG,R1
log4j.appender.R1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R1.Threshold = DEBUG
log4j.appender.R1.File=../logs/erongsoft_manage_service.log 
log4j.appender.R1.Append=true
log4j.appender.R.DatePattern=yyyy-MM-dd'.log'
log4j.appender.R1.layout=org.apache.log4j.PatternLayout
log4j.appender.R1.layout.ConversionPattern=%-d %t %-5p [%c{1}:%L] %m%n

这个子记录器是记录对于com. zy.service包及其子包下的类的日志的,可是存在一个问题,默认情况下,子记录器是会继承到根记录器的appender,一个位置的日志,会同时在根记录器的appender和子记录器的appender都有记录。

我们需要只在子记录器上记录,根记录器不记录那个位置的记录该怎么做?

只要,加上 log4j.additivity 定义,这个属性表示子记录器是否继承根记录器的appender的标示位,默认是true,只要改为false,

子记录器就不会继承到根记录器appender,只能在子记录器的appender记录日志。

log4j.additivity.com.zy.service =false

 转:https://blog.csdn.net/w420372197/article/details/7165967

 

;