gpt4 book ai didi

java - Log4j2异步记录器默认缓冲区大小

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

我对使用 log4j2 异步记录器时的默认缓冲区大小有疑问。 log4j2的版本是2.11.2,由Spring Boot log4j2 starter 2.1.13.RELEASE引入。

看起来文档中的不同位置引用了不同的值。async logger document将尺寸指定为256 * 1024。然而,log4j2 general config document提到在无垃圾模式下运行时大小为 4 * 1024,否则为 256 * 1024。而log4j2及以上版本默认运行在 garbage-free mode .

但是,当我在 StatusLogger 设置为 TRACE 的情况下启动应用程序时,缓冲区大小显示为 262144 (256 * 1024)。

DEBUG StatusLogger Creating custom DiscardingAsyncQueueFullPolicy(discardThreshold:INFO)
DEBUG StatusLogger [AsyncContext@685f4c2e] Starting AsyncLogger disruptor for this context with ringbufferSize=262144, waitStrategy=TimeoutBlockingWaitStrategy, exceptionHandler=org.apache.logging.log4j.core.async.AsyncLoggerDefaultExceptionHandler@7a4f0f29...

我假设大小为 4096。有其他人看到过这种行为还是我在这里遗漏了一些东西?

谢谢。
- 阿努普

最佳答案

当 Log4j 在 Web 应用程序中运行(javax.servlet.Servlet 位于类路径上)或 ​​log4j2.enableThreadLocals 系统属性为 false 时,缓冲区大小将为 4 * 1024。否则为 256 * 1024。

关于java - Log4j2异步记录器默认缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60994405/

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