使用属性文件为不同的日志级别配置不同的Log4j附加器

32

由于log4j的官方文档是失效的链接,并且入门指南没有帮助我,我想知道如何在同一个记录器上使用两个具有不同日志级别的附加器,使用.properties文件而不是.xml文件。

例如,像这样:

log4j.rootLogger=debug,  APPENDER_FILE, APPENDER_STDOUT

我正在使用两个不同的附加器进行日志记录,但是它们都是在相同的日志级别(DEBUG)下。我想要使用一个 INFO 日志级别来记录 APPENDER_STDOUT,并且在 APPENDER_FILE 中使用 DEBUG 日志级别。

我的问题类似于这个问题,但与该问题不同的是,我使用的是 log4j.properties 文件,而不是 xml 文件。

2个回答

56

你需要将日志记录器设置为两个级别中更详细的一个(DEBUG),然后在附加器上设置阈值,告诉它仅显示 INFO 及以上的消息。

log4j.appender.APPENDER_STDOUT.Threshold=INFO

1
此外,如果您想在包级别上指定 appender,可以使用以下方法:
log4j.logger.[package]=[Level], [Appender]

例子:

log4j.logger.org.apache.cxf=INFO, MyAppender

更多详情请查看:https://dev59.com/xnjZa4cB1Zd3GeqPh8be#19795886


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接