使用log4j

时间:2015-04-22 10:42:11

标签: log4j

我有像这样的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)

我怎样才能做到这一点?

1 个答案:

答案 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,以便将其日志保存在其他文件中。