首页 > 解决方案 > 使用 Async Loggers 时 Log4j2 产生多少线程

问题描述

文本

我对 log4j 网站上的解释有点困惑,有人可以说明我的无知。

该图是表示应用程序当前用于运行其业务逻辑的应用程序线程数,还是表示在所有异步记录器的情况下记录器或中断器将使用的线程数。

换句话说,该图是表示正在生成日志的线程,还是表示代表 log4j2 使用日志的线程。

请分享一些官方参考资料,有什么方法可以配置 logger 将使用的线程数。我不希望我的应用程序被记录器线程拖累,所以有什么方法可以配置 log4j 以减少使用 CPU。

标签: log4j2

解决方案


图中的线程数表示同时进行日志记录的应用程序线程数。

使用异步记录器,只有一个后台线程写入日志文件。

该图显示,用于将日志事件从多个生产者(应用程序)线程切换到单个消费者线程的数据结构即使在高争用情况下也非常有效,从而产生了更好的日志吞吐量。


推荐阅读