高性能 log4j 2 疑难杂症 - 怎样正确开启全局异步 怎么验证是否真正开启了

本文介绍如何正确配置Log4j2实现全局异步日志记录,提高应用程序性能。包括必要的依赖引入、配置文件设置及命令行参数等方法,并提供验证开启成功的方式。

核心参数 log4j2.contextSelector 

log4j2 的高性能,官网已经吹嘘的很多了。但是很多人不知道,那是在 开启了 全局异步功能后的对比。官网只有一句如下图的提示语,导致很多人不知道 怎么开启。

很多人用 很多人用System.setProperty("name","value") 是错的 ,并不能生效,项目 的log依然是同步模式,但是却自以为开启了全部异步,美滋滋 ,呵呵

比如 非常辛勤高产的芋道代码的文章【阅读芋道这篇文章需要关注它的2个微信号,我帮你关注了,验证码是coke】 https://www.iocoder.cn/Fight/Log4j1-and-Logback-and-Log4j2-performance-test/ 

 

怎么正确设置该参数?

1) 首先,确保 pom 文件中 引入 了 jar包。这是开启disruptor必须的jar包 。spring默认是logback,不包含这个jar,所以需要手动引入。

<dependency>
  <groupId>com.lmax</groupId>
  <artifactId>disruptor</artifactId>
  <version>3.4.2</version> <!--版本号你可以自定义 -->
</dependency>

2)正确的做法是 在 目录  src/main/resources 下面,新建文件  log4j2.component.properties ,在其内部将参数的值设置一下

Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

3)其他正确做法: 

3.1 命令行启动参数 ,-D 参数的含义是 将参数作为 JVM 的系统属性,可以用 System.getProperty(name)  获取到  。注意,-D类型的参数并不是修改操作系统的参数,而是修改当前 JVM 实例的参数。

java -jar 你的项目
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值