我需要知道 log4j 上的配置是否更改,例如将日志记录级别从 INFO 更改为 DEBUG 等...可以/确实影响应用程序吗?
谢谢。
可能,请参阅http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PropertyConfigurator.html#configureAndWatch%28java.lang.String,%20long%29。这需要更改您的 log4j 初始化代码,因为默认初始化不会监视更改(遵循http://grepcode.com/file/repo1.maven.org/maven2/log4j/log4j/1.2.16/org中第 127 行中的代码/apache/log4j/LogManager.java来查看)
是的。您可以通过编程方式添加/删除附加程序、更改日志记录级别等。是的,它们会即时生效。
默认情况下它不支持此行为,但似乎可以使用 api 进行配置。另一个解决方案可能是 Logback。它是 Log4j 的继承者,并且支持自动重新加载开箱即用的配置文件。请参阅http://logback.qos.ch/reasonsToSwitch.html了解更多信息以及其他更喜欢 logback 而不是 log4j 的原因。
Log4j 版本 2具有用于 log4j.properties 文件的 monitorInterval arg 选项。