Java Logback线程池

Java Logback线程池,java,logging,logback,Java,Logging,Logback,我使用Logback进行日志记录,我有一个问题。 我将AsyncAppender与ConsoleAppender一起使用。 当应用程序启动时,它会创建带有logback线程名称的线程池。 所有日志记录工作都由AsyncAppender工作线程完成。 创建带有logback-线程名称的线程池的目的是什么?它做了什么工作?简短的回答 这些线程用于后台需要执行的所有其他工作—基于时间的翻转、套接字追加器、异步SMTP追加器等 稍长的回答 通过运行,我只找到了一个使用它的地方:ExecutorServi

我使用Logback进行日志记录,我有一个问题。 我将AsyncAppender与ConsoleAppender一起使用。 当应用程序启动时,它会创建带有logback线程名称的线程池。 所有日志记录工作都由AsyncAppender工作线程完成。 创建带有logback-线程名称的线程池的目的是什么?它做了什么工作?

简短的回答 这些线程用于后台需要执行的所有其他工作—基于时间的翻转、套接字追加器、异步SMTP追加器等

稍长的回答 通过运行,我只找到了一个使用它的地方:ExecutorServiceUtil

此帮助器类用于创建仅由Contextbase.getScheduledExecutorService访问的executor服务,通过跟踪其用法,我发现了以下用法:

如果启用压缩并清理旧存档,则基于时间的滚动将异步压缩。我认为这是因为压缩应用程序线程上的旧文件将是一件坏事。 套接字附加器有一个连接器线程,在连接失败时重新连接,并且有一个异步消息缓冲区,后台线程正在处理该缓冲区。 如果以这种方式配置,SMTP附加器可以是异步的,那么它也将使用后台执行器。 这是一份详尽的清单。请注意,所有这些都是从源代码中读取的。基于时间的滚动虽然异步是绝对有意义的,但没有文档记录,因此可能会发生变化。套接字appender和SMTP appender被记录为使用后台线程