Ami*_* Sh 13 java log4j log4j2
如何在运行时通过java在log4j2中动态打开或关闭rootLogger的一个appender?
例如,我想禁用Console Appender:
...
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
...
Run Code Online (Sandbox Code Playgroud)
可能吗?
您可以以编程方式添加或删除 appender。在你的情况下,让我们删除Console
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
final Configuration config = ctx.getConfiguration();
config.getRootLogger().removeAppender("CONSOLE");
ctx.updateLoggers();
Run Code Online (Sandbox Code Playgroud)
有一个带有方法和的LifeCycle接口,但看起来您无法在停止后重新启动 appender。stopstart
| 归档时间: |
|
| 查看次数: |
3716 次 |
| 最近记录: |