Springboot2.x 使用 Log4j2 异步打印日志的实现

介绍

目前常用的 Java 日志框架有 Log4j、Logback、Log4j2 ,性能方面推荐使用异步的 Log4j2,具体对比不多做分析,前人早已完成耕荒,我们就站在巨人的肩膀上来看看如何实操。

SLF4J,简单日志门面(Simple Logging Facade for Java),是一个用于日志系统的简单 Facade,不是具体的日志解决方案,而是通过Facade Pattern提供一些Java logging API,我的理解是它和 Log4j、Logback、Log4j2 的关系类似于 Java 接口与实现类的关系。

1、pom 准备

1.1、war 包 web 工程


 org.springframework.boot
 spring-boot-starter-web
 
  
  
   org.springframework.boot
   spring-boot-starter-logging
  
 



 org.springframework.boot
 spring-boot-starter-log4j2
 2.2.6.RELEASE



 com.lmax
 disruptor
 3.4.2

1.2、jar 包自启动工程


 org.springframework.boot
 spring-boot-starter
 
  
  
   org.springframework.boot
   spring-boot-starter-logging
  
 



 org.springframework.boot
 spring-boot-starter-log4j2
 2.2.6.RELEASE



 com.lmax
 disruptor
 3.4.2

2、application.yml 配置

# 引入日志配置文件
logging:
 config: classpath:log4j2.xml

3、log4j2.xml 配置

classpath:log4j2.xml 的话,log4j2.xml 放在目录 resources 下即可





 

 
 
  
  
  
  
  
  
 

 

  
   
   
  

  
  
   
   
    
    
    
   
   
   
    
    
     
     
     
     
     
    
   
  
 

 
 
 
  
  
  
   
   
  
  
   
   
  
  
   
   
  
 


4、使用

4.1、声明 logger 变量

package com.songo.service;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestService {
 private static final Logger logger = LoggerFactory.getLogger(TestService.class);
 
 public void Test() {
  logger.info("test...");
 }
}

4.2、简单点 lombok
引入 pom


 org.projectlombok
 lombok
 provided

package com.songo.service;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class TestService {

 public void Test() {
  log.info("test...");
 }
}

5、验证

服务启动时,找到 log4j2 的线程,是如下内容说明 log4j2 异步日志打印配置成功

Springboot2.x 使用 Log4j2 异步打印日志的实现_第1张图片

到此这篇关于Springboot2.x 使用 Log4j2 异步打印日志的实现的文章就介绍到这了,更多相关Springboot Log4j2 异步打印日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Springboot2.x 使用 Log4j2 异步打印日志的实现)