文章目录
Step1. 排除Spring Boot自带的logging包(logback)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- delete the default logback dependency embedded in springboot starters -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<!-- if it doesn't work, we can add logback's exclusion further -->
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
Step2. 在resource下面加入log4j2.xml或者log4j2-spring.xml
- 如果配置的是log4j2.xml需要在application.properties里面添加配置文件的路径
logging.file.path=log4j2.xml
- 如果配置的是log4j2-spring.xml的话,spring会自动识别,不用另外配置。
Step3. 编写log4j2.xml
详细配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!--设置log4j2的自身log级别为warn-->
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,
当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<Configuration status="warn" monitorInterval="30">
<!--先定义所有的appender-->
<appenders>
<!--这个输出控制台的配置-->
<console name="Console" target="SYSTEM_OUT">
<!--输出日志的格式 %highlight{%-5level}-->
<PatternLayout pattern="[%d{yyyy/MM/dd HH:mm:ss:SSS}] [%highlight{%p}] [%t] %highlight{%c{1.}.%M(%L)}: %msg%n"/>
</console>
<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用-->
<File name="log" fileName="logs/GAVGraph.log" append