java – 如何使用Log4j2登录关闭钩子?
发布时间:2020-12-14 05:02:40 所属栏目:Java 来源:网络整理
导读:Log4j2还使用关闭挂钩来结束其服务.但是,当然,我想记录我的应用程序的整个生命周期 – 包括关闭.使用Log4j这是没有问题的.现在似乎是不可能的我的应用程序仍然在处理日志记录.有没有人对我有希望? 最好的祝福 马丁 解决方法 从2.0-Beta9开始,现在可以在xml
Log4j2还使用关闭挂钩来结束其服务.但是,当然,我想记录我的应用程序的整个生命周期 – 包括关闭.使用Log4j这是没有问题的.现在似乎是不可能的我的应用程序仍然在处理日志记录.有没有人对我有希望?
最好的祝福 解决方法
从2.0-Beta9开始,现在可以在xml中配置
<configuration ... shutdownHook="disable"> 考虑到它现在已经被禁用了,我想我需要手动关闭日志系统在我的关机挂钩结束.然而,我找不到一个彻底的外部界面,只有在内部的api import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.core.config.Configurator; import org.apache.logging.log4j.core.LoggerContext; ... public static void main(String[] args) { final AnnotationConfigApplicationContext springContext = new AnnotationConfigApplicationContext(AppConfig.class) Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { //shutdown application LOG.info("Shutting down spring context"); springContext.close(); //shutdown log4j2 if( LogManager.getContext() instanceof LoggerContext ) { logger.info("Shutting down log4j2"); Configurator.shutdown((LoggerContext)LogManager.getContext()); } else logger.warn("Unable to shutdown log4j2"); } }); //more application initialization } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |