0

我有各种日志文件(调试、错误)和不同的配置(例如 dev、prod)。在开发中,我希望将所有内容都记录到我的 debug.log 中,并将错误写入 error.log。但是在生产中,我想关闭调试日志。现在我正在使用这个配置:

<appender name="FileAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="/logs/debug.log" />
    <param name="Append" value="true" />
    <param name="Threshold" value="OFF" />

...

所以它会自己决定是否写。但有时我想检查代码,如果记录器写入日志:

if(logger.isInfoEnabled()) {};

即使阈值设置为“关闭”,它确实表示,该信息已启用。我要做的是配置 XML,因此它不仅会跳过写入生产中的 debug.log,而且还会将 infoEnabled 值设置为 false,因此我可以在我的代码中使用它。有没有可能这样做?

提前致谢!

4

1 回答 1

2

将您的 ROOT 记录器配置为“警告”级别。在 Log4J 1.x 中:

<root>
    <level value="WARN" />
</root>

在 Log4J 2.x 中:

<root level="WARN">
</root>
于 2013-05-09T08:12:05.620 回答