Log4j2包含基于LMAX Disruptor库的下一代异步记录器。在多线程场景中,异步记录器的吞吐量比Log4j 1.x和Logback高18倍,延迟低。Log4j 2明显优于Log4j 1.x,Logback和java.util.logging,尤其是在多线程应用程序中
LMAX Disruptor技术。异步记录器在内部使用Disruptor,一个无锁的线程间通信库,而不是队列,从而产生更高的吞吐量和更低的延迟。
原因在于log4j2使用了LMAX, 一个无锁的线程间通信库代替了, logback和log4j之前的队列. 并发性能大大提升。
<!-- 引入 log4j2 的依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!-- log4j异步需要依赖disruptor 框架 -->
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.2</version>
</dependency>
网友评论