gpt4 book ai didi

log4j2 - 如何在调用 LogManager.shutdown() 后重新启动 log4j2?

转载 作者:行者123 更新时间:2023-12-02 05:43:56 25 4
gpt4 key购买 nike

我有一个重新配置 log4j2 的方法,如下所示:

LogManager.shutdown(); // SHUTDOWN log4j2
InputStream in = getClass().getResourceAsStream("/my2ndLog4j2.xml");
ConfigurationSource source = new ConfigurationSource(in);
Configurator.initialize(null, source);
LoggerContext context = (LoggerContext) LogManager.getContext(false);
context.reconfigure();
context.start(); // NOT WORK, no log appear anymore...

所以我可以在运行时在生产日志配置和开发配置之间重新配置log4j2,但是当我调用LogManager.shutdown()时,它真的永远关闭,永远不会回来,context.start()不起作用,事实上我这样做在log4j1.x中很久了,在log4j1.x中,使用:

org.apache.log4j.PropertyConfigurator.configure(cfgPath);

然后它就回来了,但是log4j2怎么办?

最佳答案

如果您想在运行时更改 log4j2 配置文件,那么下面的代码足以做到这一点 -

Configurator.initialize(null, "my2ndLog4j2.properties");

无需关闭 LogManager 然后再次启动。

关于log4j2 - 如何在调用 LogManager.shutdown() 后重新启动 log4j2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com