gpt4 book ai didi

java - Logback线程池

转载 作者:行者123 更新时间:2023-12-02 01:44:12 24 4
gpt4 key购买 nike

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

最佳答案

简短回答

这些线程用于 logback 需要在后台完成的所有其他工作 - 基于时间的翻转、套接字附加程序、异步 SMTP 附加程序等。

稍微长一点的答案

通过运行 a search on "logback-" over the logback codebase ,我只发现一个使用它的地方:ExecutorServiceUtil

此帮助程序类用于创建执行程序服务(只能通过Contextbase.getScheduledExecutorService()访问),通过跟踪其用法,我发现了以下用法:

  • 基于时间的翻转将异步压缩(如果启用压缩)并清理旧存档。我认为这是因为在应用程序线程上压缩旧文件是一件坏事。
  • 套接字附加程序有一个连接器线程,如果连接失败,该连接器线程会重新连接,并且有一个由后台线程处理的异步消息缓冲区。
  • 如果以这种方式配置,SMTP 附加程序可以是异步的 - 那么它也将使用后台执行程序。

这是一份详尽的列表。注意,这些都是从源代码中读取的。基于时间的翻转虽然异步绝对有意义,但没有记录为异步,因此可能会发生变化。套接字附加程序和 SMTP 附加程序被记录为使用后台线程。

关于java - Logback线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53944821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com