gpt4 book ai didi

java - 如何在 log4j2 中动态打开或关闭 rootLogger 的一个附加程序?

转载 作者:搜寻专家 更新时间:2023-10-30 21:12:39 25 4
gpt4 key购买 nike

java如何在运行时动态开启或关闭log4j2中rootLogger的一个appender?

例如,我想禁用 Console Appender:

...
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
...

这可能吗?

最佳答案

您可以以编程方式添加或删除附加程序。在你的情况下,让我们删除 Console

final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
final Configuration config = ctx.getConfiguration();
config.getRootLogger().removeAppender("CONSOLE");
ctx.updateLoggers();

有一个LifeCycle与方法stopstart 的接口(interface),但看起来您无法在appender 停止后重新启动它。

关于java - 如何在 log4j2 中动态打开或关闭 rootLogger 的一个附加程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23590058/

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