spring6启用Log4j2日志

pom文件

java 复制代码
<!--log4j2的依赖-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.23.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j2-impl</artifactId>
    <version>2.23.1</version>
</dependency>

log4j2.xml

java 复制代码
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <loggers>
        <root level="DEBUG">
            <appender-ref ref="spring6log"/>
        </root>
    </loggers>
    <appenders>
        <console name="spring6log" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss SSS} [%t] %-3level %logger-{1024} - %msg%n"/>
        </console>
    </appenders>
</configuration>

pattern定义日志输出格式:

配置 说明

%d{HH:mm:ss.SSS} 输出日志打印的时间,精确到毫秒

%t\] 输出当前线程名称 %-5level 输出日志级别,-5表示左对齐并且固定输出5个字符,不足在右边补空格 %logger{36} 输出logger名称,一般是类的全限定路径名 %msg 输出要打印的业务日志信息 %n 日志换行 实际会输出如下日志: ```java 11:33:08.438 [main] ERROR org.apache.logging.log4j.Log4j2Test - error level log ``` Log4j2共有8种日志级别, 按照优先级从小到大排序: ```java ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF ``` ```java logs logs/%d{yyyy-MM-dd} logs/error %d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n 15d 100MB ``` 测试代码 ```java package org.apache.logging.log4j; public class Log4j2Test { private static Logger LOG = LogManager.getLogger(Log4j2Test.class); public static void main(String[] args) throws Exception { // 一直打印日志,用于测试Log4j2功能 while (true) { logAll(); } } // 打印各种级别的日志用于测试 public static void logAll() throws Exception { LOG.trace("trace level log"); LOG.debug("debug level log"); LOG.info("info level log"); LOG.error("error level log"); LOG.fatal("fatal level log"); // 设置休眠时间(单位ms),控制日志打印速度 Thread.sleep(3); } } ```

相关推荐
金銀銅鐵1 天前
浅解 JUnit 4 第十五篇:如何在测试方法运行前后做些事情?
junit·单元测试
金銀銅鐵1 天前
浅解 JUnit 4 第十四篇:如何实现一个 @After 注解的替代品?
junit·单元测试
金銀銅鐵1 天前
浅解 JUnit 4 第十三篇:如何实现一个 @Before 注解的替代品?(下)
junit·单元测试
金銀銅鐵4 天前
浅解 JUnit 4 第十二篇:如何生成 @Before 注解的替代品?(上)
junit·单元测试
Apifox5 天前
【测试套件】当用户说“我只想跑 P0 用例”时,我们到底在说什么
单元测试·测试·ab测试
金銀銅鐵8 天前
浅解 JUnit 4 第十一篇:@Before 注解和 @After 注解如何发挥作用?
junit·单元测试
金銀銅鐵9 天前
浅解 JUnit 4 第十篇:方法上的 @Ignore 注解
junit·单元测试
阿狸猿11 天前
单元测试中静态测试、动态测试及白盒测试、回归测试实践
单元测试·软考
Max_uuc11 天前
【工程心法】从“在板盲调”到“云端验证”:嵌入式单元测试与 TDD 的工程化革命
单元测试·tdd