繁体   English   中英

如何在运行时使用新的 xml 文件重新配置 log4j2

[英]How to reconfigure log4j2 at runtime with new xml file

我在 Web 应用程序(servlet 3.0 API)中使用 log4j2

使用 WEB-INF 目录中的log4j2.xml文件启动应用程序时,Log4j2 会自动配置自身。

当上下文启动时,我执行一些产生一些日志的逻辑,并且所有产生的日志都按照log4j2.xml文件中定义的规则工作。

At the end of my initialization logic I call a service that gives to me one or more log4j2 xml configuration files (for example, config1.xml , config2.xml and config3.xml ).

现在我想使用我的初始log4j2.xml文件以及所有新配置文件来“重新配置”log4j。

我找不到办法做到这一点; 我只能找到一种以编程方式添加新 Appender、新 Logger 等的方法;

我想告诉 log4j2 “嘿,这里有一些新的配置文件;请解析它们并相应地更新您的配置”

有办法做到这一点吗?

谢谢

感谢 Vionixt 对我的问题的评论,我解决了这个问题。

我使用的代码是:

System.setProperty("log4j.configurationFile", "<configFile1>,<configFile2>,<configFile3>");
LoggerContext.getContext(false).reconfigure();

LoggerContext 在哪里

org.apache.logging.log4j.core.LoggingContext

重新配置后,所有新的日志记录规则都可用并使用了!

非常感谢你,干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM