可以通过配置禁用log4j2中的关闭挂钩:
<Configuration shutdownHook="disable">
是否可以通过编程方式执行此操作?
答案 0 :(得分:1)
我知道,它可能已经过时,但我觉得你的问题和我处于相同的情况。所以对于感兴趣的人,我使用这段代码来停止关闭钩子programmaticaly:
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以来应该可用)