我在我的应用程序中使用 Log4J AsyncAppender,我想知道,当我的应用程序完成时,AsyncAppender 的线程会发生什么?我应该手动终止线程还是可以忘记它并退出我的应用程序而不用担心某些日志消息会丢失?
最佳答案
如果您在 JVM 关闭之前调用 LogManager.shutdown()
,它将继续运行直到 appender 被刷新。请注意,这仅对 log4j 1.x 是必需的。我从文档中了解到 Log4j 2 会自动注册一个关闭 Hook 来处理这个问题。
关于java - log4J AsyncAppender 的停止线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12821247/