hook默认值从false改成了true,暴露了问题,进程关闭时日志系统可能先于spring容器关闭,造成无法打印日志
Runtime.getRuntime().addShutdownHook(new Thread(() -> spring.stop));
Runtime.getRuntime().addShutdownHook(new Thread(() -> logSystem.stop));
-jvm的不同shutdownHook执行是并行的也就造成了,spring容器的关闭和日志系统关闭时间先后的不确定
jvm关闭时,异步append的打印队列中还有未打印的日志时,这些日志就丢了
https://github.com/spring-projects/spring- boot/issues/26660
注意:实现ShutdownHookBase的类自己添加到jvm hook中会失效,只能在配置文件中使用,logback解析配置文件时会把context传入到该类中
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。