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

网友投稿 416 2023-02-11

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 下即可

<!-- 删除处理策略,在配置的路径中搜索,maxDepth 表示往下搜索的最大深度 -->

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 异步日志打印配置成功

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:聚合数据违章查询(交通违法数据库平台)
下一篇:Eclipse中配置Maven的图文教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~