在运行时打开/关闭日志

时间:2013-05-02 09:33:50

标签: java-ee log4j slf4j

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

e.g。一个Web服务打开/关闭日志,所以我不会有太多的日志,只能用于调试目的。

感谢。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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"));