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