在事件发生时重新加载Log4j.xml文件配置

时间:2015-02-27 11:03:28

标签: java logging log4j log4j2

我已经完成了Log4j2最新版本库(带有log4j2.xml配置文件)的简单配置,工作正常。

现在我想更新/重置配置,每当更新事件触发我在互联网上检查时,log4j2 jar.e.g上的最新版本中没有这样的API。在旧的api中有一种叫做

的方法
   LogManager.resetConfiguration()

那么我如何重置配置或刷新log4j2配置运行时?

2 个答案:

答案 0 :(得分:5)

Log4j 2允许您指定monitorInterval。在monitorInterval中指定的秒数过后,Log4j将检查配置文件是否已被修改。如果您的文件已更改,则会重新加载。

如果您不想使用自动方法,则需要获取LoggerContext(Log4j内部的一部分)并调用其重新配置方法。

final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); ctx.reconfigure();

答案 1 :(得分:0)

我不确定它是否从文件重新加载配置,但您可以尝试

LogManager.getContext(false).updateLoggers();