logback 多线程下频繁的写日志会出现死锁,可以使用异步appender避免这个问题:
<!-- 异步写日志,用户简介专用日志 -->
<appender name="ASYNC_USER_PROFILE_MODEL"
class="ch.qos.logback.classic.AsyncAppender">
<File>${LOG_HOME}/userprofilemodel.log</File>
<Encoding>UTF-8</Encoding>
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
<discardingThreshold >0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
<queueSize>512</queueSize>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
<!--日志文件最大的大小 -->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
</appender>
本文介绍如何通过配置Logback的异步Appender解决多线程环境下日志记录导致的死锁问题,并展示了具体的XML配置示例。
9076

被折叠的 条评论
为什么被折叠?



