我有各种日志文件(调试,错误)和不同的配置(例如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,因此我可以在我的代码中使用它。有没有可能做到这一点?
提前致谢!
答案 0 :(得分:2)
将ROOT记录器配置为“WARN”级别。在Log4J 1.x中:
<root>
<level value="WARN" />
</root>
在Log4J 2.x中:
<root level="WARN">
</root>