log4j2 - 使用 Async Loggers 时 Log4j2 产生多少线程
问题描述
我对 log4j 网站上的解释有点困惑,有人可以说明我的无知。
该图是表示应用程序当前用于运行其业务逻辑的应用程序线程数,还是表示在所有异步记录器的情况下记录器或中断器将使用的线程数。
换句话说,该图是表示正在生成日志的线程,还是表示代表 log4j2 使用日志的线程。
请分享一些官方参考资料,有什么方法可以配置 logger 将使用的线程数。我不希望我的应用程序被记录器线程拖累,所以有什么方法可以配置 log4j 以减少使用 CPU。
解决方案
图中的线程数表示同时进行日志记录的应用程序线程数。
使用异步记录器,只有一个后台线程写入日志文件。
该图显示,用于将日志事件从多个生产者(应用程序)线程切换到单个消费者线程的数据结构即使在高争用情况下也非常有效,从而产生了更好的日志吞吐量。
推荐阅读
- gitahead - 在 GitAhead 中,当我已经删除了相应的本地分支时,有没有办法删除远程分支?
- azure - Microsoft 集成运行时在 Azure VM 上丢失身份验证密钥
- security - .page 域如何更安全?
- modelsim - VHDL编译错误测试台(ModelSim)
- c - 一旦你释放()一个结构,结构的指针仍然活跃?
- java - c# 中等效的 ByteBuffer.wrap().getInt()
- r - 在ggplot R中标记geom_point
- rust - 找不到 tokio::main 宏?
- azure - Azure 存储帐户 SLA 与持久性
- python - youtube-dl 在 pycharm 中无法按预期工作