1

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

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

谢谢。

4

2 回答 2

1

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

于 2013-05-05T02:37:33.637 回答
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"));
于 2014-09-08T13:37:12.953 回答