springcloud--日志链路追踪之log4j2

传统的log4j,同步打印日志,同时输出许多条日志记录,会采用抢占式,谁先得到输出机会,先打印某条日志。

log4j2,异步打印日志,业务线程将日志输出存放到一个无锁化环形队列(RingBuffer),log4j2的异步线程会从该队列中读取日志,并进行持久化。该环形队列,可以设置缓冲区大小,以及队列满了后,将debug/info/error/trace中某个级别的日志进行剔除。

使用:

maven依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

        <dependency>
            <groupId>com.lmax</groupId>
            <artifactId>disruptor</artifactId>
            <version>3.3.6</version>
        </dependency

application.properties中配置

logging.config=classpath:log4j2.xml

配置log4j2.xml文件

配置 log4j2.component.properties

# 环形队列的大小
AsyncLogger.RingBufferSize=10000
#
AsyncLoggerConfig.RingBufferSize=10000
# 自动降级--丢弃日志
log4j2.AsyncQueueFullPolicy=Discard
# 队列满后丢弃debug级别的日志
log4j2.DiscardThreshold=DEBUG
以上仅个人学习的一点理解,如有误,请各位大佬指教。。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值