如何使用Log4j配置文件生成具有不同日志级别的两个日志



我想使用log4j配置文件在两个不同日志级别的日志文件中生成日志。

例如usual.log具有INFO水平,debug.log具有DEBUG水平

注意:我已经提到了link1和Link2。我不想改变现有的java代码,所以上面的链接与我的问题无关。

我假设您希望debug.log包含INFO和DEBUG。

log4j.appender.usual=org.apache.log4j.DailyRollingFileAppender
log4j.appender.usual.DatePattern=${roll.pattern.daily}
log4j.appender.usual.layout=org.apache.log4j.PatternLayout
log4j.appender.usual.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %C{2} - %m%n
log4j.appender.usual.File=usual.log
log4j.appender.usual.Threshold=INFO
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.DatePattern=${roll.pattern.daily}
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %C{2} - %m%n
log4j.appender.debug.File=debug.log
log4j.appender.debug.Threshold=DEBUG
log4j.logger.customlogger=DEBUG, usual, debug

关键是附加器本身的Threshold过滤器。您可以将所有日志发送到多个appender,并在那里进行过滤。

上面的语法可能是一个开端,但是我更习惯XML配置。

相关内容

最新更新