我们来讲一下springboot2.x生成日志文件。
一、先来看看官网说的需要注意的地方:
因此,我们先来建一个logback-spring.xml。
二、官网中给的logback-spring.xml的demo
三、看看源码具体要应该怎么配置?
根据demo可以看到里面引了一个base.xml,
里面包含一个defaults.xml,一个console-appender.xml,file-appender.xml。顾名思义,一个是配置console的,另一个是配置file的。具体看看两个xml,然后根据这两个xml完成自己的logback-spring.xml。
四、贴上写好的xml文件供大家引用
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<property name="LOG_FILE" value="myLog" />
<property name="LOG_PATH" value="/FIREFIGHTING/log" />
<property name="LOG_PATTERN_CONSOLE" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} --> %msg%n" />
<property name="LOG_PATTERN_FILE" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} --> %msg%n" />
<!--- 设置控制台日志 -->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN_CONSOLE}</pattern>
</encoder>
</appender>
<!-- 设置日志文件 -->
<appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${LOG_PATTERN_FILE}</pattern>
</encoder>
<file>${LOG_PATH}/${LOG_FILE}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${LOG_FILE}-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>7</maxHistory>
</rollingPolicy>
</appender>
<!-- 设置日志级别,及需要记录日志的类 -->
<root level="INFO">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileLog" />
</root>
</configuration>