我有像这样的log4j配置
#
# Log4j properties for the CometD Server.
#
log4j.rootLogger=INFO, logfile
log4j.logger.org.springframework=WARN
log4j.logger.org.apache.xbean=WARN
log4j.logger.org.eclipse.jetty=INFO
log4j.logger.org.cometd=INFO
log4j.logger.test.cometd.server=DEBUG
log4j.logger.com.googlecode=INFO
# File appender
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.file=${cometd.log.dir}/cometd.log
log4j.appender.logfile.maxFileSize=20MB
log4j.appender.logfile.maxBackupIndex=10
log4j.appender.logfile.append=true
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%d{yyyyMMdd HH:mm:ss:SSS zzz} (%t) %C#%M %L %p] - %m %n
我想要包装的所有日志" com.googlecode"转到一个文件并将所有日志保留在日志文件中(上面提到为cometd.log)
我怎样才能做到这一点?
答案 0 :(得分:0)
我找到了答案并将其发布给更广泛的社区,以后可能需要它。
这里的关键是我们需要一个单独的appender来处理我们需要的每个文件,并且rootlogger设置了一个我们需要停止继承的appender
所以最终配置将如下
#
# Log4j properties for the CometD Server.
#
log4j.rootLogger=INFO, logfile
log4j.logger.org.springframework=WARN
log4j.logger.org.apache.xbean=WARN
log4j.logger.org.eclipse.jetty=INFO
log4j.logger.org.cometd=INFO
log4j.logger.test.cometd.server=DEBUG
log4j.logger.com.googlecode=INFO, probleLogfile
log4j.additivity.com.googlecode=false
# File appender
log4j.appender.probleLogfile=org.apache.log4j.RollingFileAppender
log4j.appender.probleLogfile.file=${cometd.log.dir}/probe.log
log4j.appender.probleLogfile.maxFileSize=20MB
log4j.appender.probleLogfile.maxBackupIndex=10
log4j.appender.probleLogfile.append=true
log4j.appender.probleLogfile.layout=org.apache.log4j.PatternLayout
log4j.appender.probleLogfile.layout.ConversionPattern=[%d{yyyyMMdd HH:mm:ss:SSS zzz} (%t) %C#%M %L %p] - %m %n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.file=${cometd.log.dir}/cometd.log
log4j.appender.logfile.maxFileSize=20MB
log4j.appender.logfile.maxBackupIndex=10
log4j.appender.logfile.append=true
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%d{yyyyMMdd HH:mm:ss:SSS zzz} (%t) %C#%M %L %p] - %m %n
因此,通过指定log4j.additivity.com.googlecode=false
,我们已停止继承此类及其子类的根记录器。
我们为此指定了一个单独的appender,以便将其日志保存在其他文件中。