SpringBoot項目使用logback自定義配置後,會在/tmp/ 目錄下生成 spring.log的文件(以下圖所示)。
html
經過各類資料的搜索,最終發現問題的所在(logback配置以下)。
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true"> <include resource="org/springframework/boot/logging/logback/base.xml"/> <springProperty scope="context" name="springAppName" source="spring.application.name"/> <property name="LOG_FILE" value="logs/${springAppName}"/> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> %black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable </pattern> </layout> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <maxHistory>90</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>200MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <charset>utf-8</charset> <pattern>%d %-5level [%thread] %logger{0}: %msg%n</pattern> </encoder> </appender> <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>512</queueSize> <appender-ref ref="FILE"/> </appender> <root level="DEBUG"> <appender-ref ref="CONSOLE"/> <appender-ref ref="ASYNC"/> </root> <!-- https://logback.qos.ch/manual/configuration.html#shutdownHook and https://jira.qos.ch/browse/LOGBACK-1090 --> <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/> <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"> <resetJUL>true</resetJUL> </contextListener> </configuration>
<?xml version="1.0" encoding="UTF-8"?> <!-- Base logback configuration provided for compatibility with Spring Boot 1.1 --> <included> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> <include resource="org/springframework/boot/logging/logback/console-appender.xml" /> <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> <root level="INFO"> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE" /> </root> </included>
從base.xml中能夠看出來,會在/tmp/目錄下默認生成一個spring.log,問題已經發現了,那就說明這裏的配置須要更改,改爲什麼呢?
經過在github上查詢,只須要將java
<include resource="org/springframework/boot/logging/logback/base.xml"/>
替換成git
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
便可。github
問題解決。spring