我正在使用 SLF4J 和 Log4J 进行日志记录。到目前为止,我正在使用 xml 文件中的 log4j 配置。如何在运行时打开/关闭日志记录。
例如,一个 Web 服务打开/关闭日志,所以我不会有太多的日志,并且仅出于调试目的而启用。
谢谢。
我正在使用 SLF4J 和 Log4J 进行日志记录。到目前为止,我正在使用 xml 文件中的 log4j 配置。如何在运行时打开/关闭日志记录。
例如,一个 Web 服务打开/关闭日志,所以我不会有太多的日志,并且仅出于调试目的而启用。
谢谢。
log4j 记录器级别可以在运行时更改。将 log4j 日志级别更改为错误,以便不会记录所有调试和信息语句。如果应用程序重新启动,记录器级别将更改为 log4j.xml 或 log4j.properties 中定义的级别。
我发现这完全禁用了 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"));