首先在pom.xml添加相应的依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions> <!-- 这个很关键 去除默认的日志框架 -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
</dependencies>
application.properties文件里面加入如下代码
logging.config=classpath:log4j2-spring.xml
resources目录下面新建log4j2-spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- status=trace 可以查看log4j的装配过程,相关状态有:"trace", "debug", "info", "warn",
"error" and "fatal";monitorInterval检查配置文件是否发生变化,若变化自动刷新配置,单位秒,0关闭此选项。 -->
<configuration status="debug" monitorInterval="30">
<properties>
<property name="LogPattern">%date{yyyy-MM-dd HH🇲🇲ss.SSS} %level [%thread][%c][%X] - %msg%n%throwable
</property>
</properties>
<appenders>
<!-- 定义控制台输出 。follow:当System.setOut或者System.setErr被调用后改变了标准输出后,ConsoleAppender也跟着改变;target输出目标为标准输出还是错误输出:
"SYSTEM_OUT" or "SYSTEM_ERR" -->
<Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="{LogPattern}"/>
</Console>
<File name="FileAppender" fileName="log/my.log" append="true">
<PatternLayout pattern="{LogPattern}"/>
</File>
</appenders>
<!-- asyncLogger是异步,logger是同步。asyncRoot与root只能选择一个 -->
<!-- name是logger的名字,若用"."做分隔,代表其父logger;logger的level级别:TRACE, DEBUG, INFO,
WARN, ERROR, ALL or OFF,若没指定则默认为error;additivity子logger集成父logger的appender,默认值为true -->
<loggers>
<!-- Root Logger -->
<root level="debug" includeLocation="false">
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="FileAppender"/>
</root>
<Logger name="Mybatis" level="DEBUG" additivity="true">
</Logger>
<Logger name="org.mybatis" level="DEBUG" additivity="true">
</Logger>
<Logger name="org.springframework" level="INFO" additivity="true">
</Logger>
</loggers>
</configuration>
Comments | NOTHING