使用 Log4j Bridge 重新加载 log4j.properties

reloading log4j.properties using Log4j Bridge

我必须将现有项目从 log4j1 迁移到 log4j2。最简单的方法似乎是使用 Log4j 1.2 Bridge (https://logging.apache.org/log4j/2.x/log4j-1.2-api/index.html)。这很好用,甚至可以使用现有的 log4j.properties 文件。我的问题是:

是否可以在运行时定期重新加载 log4j.properties 文件,以便在更改 log4j.properties 文件后不需要重新启动应用程序?

在 log4j1 中,这可以使用 PropertyConfigurator.configureAndWatch(fileName, 10000); 但似乎这不再适用于桥接器。

您可以使用log4j1.monitorInterval系统属性:

log4j1.monitorInterval=10

该值以秒为单位。

上面提到的属性可以任意设置property source,例如在 log4j2.component.properties 文件中。