logback异步appender日志源码详解

背景:

日常打印日志时,使用logback的异步写日志几乎是标准的配置方式,本文从源码上看看异步写日志的整个流程

异步Appender日志

一般日志的配置如下所示

appender("ASYNC-LOG", AsyncAppender) {

neverBlock = true

queueSize = 10000

}

这样配置达到的效果有以下两点:

1.新来的是warn/error级别的日志,并且此时日志总数已经达到最大容量上限queueSize大小时,不会阻塞业务线程,而是选择丢弃日志,这样可以防止打印尖峰式打印日志时业务线程阻塞,不过会导致日志丢失

2.新来的是info/debug/trace级别的日志,当此时的日志总数已经达到最大容量上限queueSize的80%时,直接丢掉日志,也就是说对于这些低级别的日志,当达到最大阈值上限的80%时已经开始丢弃了

对着源码,我们来看一下这两个结论对应的代码段是什么:

1.初始化队列和丢弃阈值

2.日志消息插入

相关推荐
逆光的July11 天前
Logback 学习笔记
笔记·学习·logback
大大杰哥20 天前
Java 日志框架详解:SLF4J + Logback 从入门到实战
java·开发语言·logback
RemainderTime1 个月前
(十二)Spring Cloud Alibaba 2023.x:基于 Filebeat 构建轻量级 ELK日志追踪体系
分布式·elk·elasticsearch·微服务·架构·logback
ideal-cs1 个月前
总结:生产环境Logback日志配置模板与pattern格式案例
java·log4j·logback·pattern·后端日志
非情剑1 个月前
logback日志脱敏、FASTJSON日志脱敏
logback
雨辰AI1 个月前
SpringBoot3 + 人大金仓 V9 全栈日志实战:Logback + Loki + Filebeat 构建统一日志平台
java·数据库·后端·云原生·eureka·logback·政务
NEGl DRYN2 个月前
Spring Boot 3.3.4 升级导致 Logback 之前回滚策略配置不兼容问题解决
java·spring boot·logback
eSsO KERF2 个月前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
色空大师2 个月前
【日志文件配置详解】
java·logback·log4j2·日志
成为大佬先秃头2 个月前
日志框架:Logback
springboot·logback