可以通过配置在log4j2中禁用关闭挂钩(shutdown hooks):
<Configuration shutdownHook="disable">
是否可以通过编程实现这一点?
可以通过配置在log4j2中禁用关闭挂钩(shutdown hooks):
<Configuration shutdownHook="disable">
是否可以通过编程实现这一点?
我知道这可能已经过时了,但我遇到了你的问题并且处于同样的情况。因此,对于有兴趣的人们,我使用以下代码片段来实现程序化停止关闭挂钩:
final LoggerContextFactory factory = LogManager.getFactory();
if (factory instanceof Log4jContextFactory) {
LOG.info("register shutdown hook");
Log4jContextFactory contextFactory = (Log4jContextFactory) factory;
((DefaultShutdownCallbackRegistry) contextFactory.getShutdownCallbackRegistry()).stop();
}
而且在我的自定义关闭挂钩中
LogManager.shutdown();
log4j2: 2.8.2版本(但自2.6版本后应该可用)