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); } } ```

相关推荐
不要再敲了4 天前
掌握单元测试的利器:JUnit 注解从入门到精通
junit·单元测试
噔噔噔噔@5 天前
BUG排查流程
单元测试
Mr_Xuhhh6 天前
项目需求分析(2)
c++·算法·leetcode·log4j
山楂树下懒猴子7 天前
ChatAI项目-ChatGPT-SDK组件工程
人工智能·chatgpt·junit·https·log4j·intellij-idea·mybatis
Mr_Xuhhh7 天前
gtest全局套件的测试使用
log4j
索迪迈科技7 天前
Protobuf 新版“调试表示为什么有链接?为什么会打码?我该怎么改代码?
java·log4j·apache
凯子坚持 c7 天前
Redis核心通用命令深度解析:结合C++ redis-plus-plus 实战指南
c++·redis·log4j
云动雨颤8 天前
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
python·单元测试
Suresoft China8 天前
软件测试|STATIC 代码静态验证工具 C/C++ 工具链设置指南
c++·单元测试·静态测试·测试覆盖率·static·代码覆盖率·工具链设置