【发布时间】:2017-09-25 18:17:33
【问题描述】:
嗨,目前我正在研究 logback 日志框架。我遇到了 Async Appenders,它使用阻塞队列来记录消息,这样所有线程都将消息排入阻塞队列中,并且异步 appender 的工作线程负责将消息从队列记录到由 appender 决定的某个目的地,这可能是文件、数据库、套接字等
我可以看到响应时间的性能提升,因为主线程不会执行 I/O,它只会将消息推送到队列和后台工作线程中,以便异步追加器检索这些消息并将它们附加到日志文件中。
我的理解对吗? 我阅读了几个与异步追加器相关的配置属性,例如队列大小、maxFlushTime、neverBlock、discardingThreshold 和 includeCallerData。
我应该如何使用这些属性来提高日志记录的性能 我当前对 async Appender 的配置如下。
<appender name="ASYNC500" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="fileAppender"/>
<queueSize>500</queueSize>
<maxFlushTime>1000</maxFlushTime>
</appender>
有人可以建议我进行一些调整以提高性能吗? ?普通 appender 和 Async Appender 哪个更好?
【问题讨论】:
标签: java spring-boot logback