Spring boot日誌配置
阿新 • • 發佈:2019-01-05
步驟1:增加logback配置檔案
注意:名字是logback.xml或者是logback-spring.xml,推薦是logback-spring.xml,為啥?因為spring boot框架預設會去尋找名字為這個的配置,並增加一些特性。
步驟2:logback.xml的內容配置
<?xml version="1.1" encoding="UTF-8"?>
<configuration>
<springProperty scope="context" name="logPath" source="logging.path"/>
<springProperty scope="context" name="serverName" source="server.name"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date|%thread|%X{invokeNo}|%level|%logger{0}|%msg%n</pattern>
</encoder>
</appender>
<appender name="rollinginfoFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logPath}/${serverName}/${serverName}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern> ${logPath}/${serverName}/${serverName}.%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%date|%thread|%X{invokeNo}|%level|%logger{0}|%msg%n</pattern>
</encoder>
</appender>
<logger name="com.alibaba" level="${loggingLevel}">
<appender-ref ref="rollinginfoFile" />
</logger>
<logger name="org.apache.ibatis" level="${loggingLevel}">
<appender-ref ref="rollinginfoFile" />
</logger> -->
<root level="${loggingLevel}">
<appender-ref ref="rollinginfoFile" />
<appender-ref ref="console" />
</root>
</configuration>
注意:
<springProperty scope="context" name="logPath" source="logging.path"/>
<springProperty scope="context" name="serverName" source="server.name"/>
logging.path和server.name都是我在applicaiton-{profile}.xml中定義的變數,此處一定要使用springProperty再引用一下,否則下面是使用不到的。
奇怪的是loggingLevel也是在配置檔案中定義的,但是這個就不需要中轉一下,可以直接通過${loggingLevel}使用。