Java Log4j2替代monitorInterval=";30“;

Java Log4j2替代monitorInterval=";30“;,java,log4j,log4j2,Java,Log4j,Log4j2,最近我升级了log4j,做了很多改变。在我们为log4j-1启用自动重新配置的项目中,我们使用了DOMConfiguration.configureandWatch() 要在log4j2中启用此权限,根据文档,我们可以在log4j2.xml的配置部分使用montiorInterval 但我想知道这是否可以通过任何log4j2api方法实现,比如log4j-1中的Domconfiguration?log4j中的每个配置都包括一个WatchManager。WatchManager允许您监视文件的更改

最近我升级了log4j,做了很多改变。在我们为log4j-1启用自动重新配置的项目中,我们使用了DOMConfiguration.configureandWatch()

要在log4j2中启用此权限,根据文档,我们可以在log4j2.xml的配置部分使用montiorInterval


但我想知道这是否可以通过任何log4j2api方法实现,比如log4j-1中的Domconfiguration?

log4j中的每个配置都包括一个
WatchManager
WatchManager
允许您监视文件的更改或URL(通常是HTTP)。当目标发生修改时,您提供的监视程序将调用其
修改的
方法。您可以使用它监视任何文件,而不仅仅是Log4j配置文件


Log4j根据配置文件中的monitorInterval设置以及您是否使用多个配置文件,在创建配置时自动创建WatchManager并注册一个或多个观察者。如果您创建了自己的自定义配置,您可以在
AbstractConfiguration
中调用
initializeWatchers
方法,或者您可以从该方法中提取相关代码并在其他代码中调用它。

您没有提供足够的信息来真正回答这个问题。你到底想完成什么?为什么您需要加载配置而不是让Log4j来加载?谢谢rgoers的评论。。(对于混淆,请参见..现在编辑描述)。但我不知道这需要什么信息。。。我只是想知道log4j2中的自动重新配置是否可以通过log4j-1中的Domconfiguration这样的API方法完成?我试图理解为什么在配置中指定monitorInterval是不够的。调用Log4j重新配置当然可以做到,但这不是“自动的”。谢谢rgoers。我不认为这是不够的。但是我们认为这个场景考虑我们有30个Log4j2.xml,它将被分配给启动FN的特定守护进程。与其在30 xml文件中添加monitorInterval,不如在开始时添加一些方法,原因与您没有为所有30 xml文件使用1个配置文件相同。允许每一个都有自己的配置。如果愿意,可以将monitorInterval指定为查找。您可以将其编码为monitorInterval=“${sys:monitorInterval:-30}”。然后,如果您提供将要使用的名为monitorInterval的系统属性,否则它将默认为30。