如何在Log4J XML配置中禁用isInfoEnabled

时间:2013-05-09 08:09:44

标签: java scala logging configuration log4j

我有各种日志文件(调试,错误)和不同的配置(例如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" />

...

因此它将决定是否自己写。但是我有时会检查代码,如果记录器写入log:

if(logger.isInfoEnabled()) {};

即使阈值设置为'OFF',也就是说,该信息已启用。 我正在尝试做的是配置XML,因此它不仅会跳过写入生产中的debug.log,而且还会将infoEnabled值设置为false,因此我可以在我的代码中使用它。有没有可能做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:2)

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

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

在Log4J 2.x中:

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