2013-05-02 70 views
1

我正在使用SLF4J和Log4J进行日志记录。到目前为止,我正在使用xml文件中的log4j配置。我如何在运行时打开/关闭日志记录。在运行时打开/关闭日志

例如一个Web服务打开/关闭日志,所以我不会有太多的日志,只会启用调试目的。

谢谢。

回答

1

log4j记录器级别可以在运行时更改。将log4j日志记录级别更改为错误,以便不记录所有调试和信息语句。如果应用程序重新启动,则记录器级别将更改为在log4j.xml或log4j.properties中定义的级别。

0

我发现这个禁用log4j的彻底:

org.apache.log4j.LogManager.resetConfiguration(); 
org.apache.log4j.LogManager.getRootLogger().addAppender(new NullAppender()); 

如果仍要记录,但定向到一个文件,你可以这样做:

LogManager.resetConfiguration(); 
LogManager.getRootLogger().addAppender(new FileAppender(new PatternLayout(), "log.log"));