/tmp 目录 spring.log 暴增,logback配置的祸

今日收到服务器告警短信,根目录磁盘使用率超过90%,心一慌难道™被攻击了,赶紧登录服务器查看

/tmp目录spring.log暴增,logback配置的祸

/tmp目录下大量spring.log文件,我去,还好不是大事。

不明所以,怎么那么多spring.log文件,查看logback.xml配置,发现其中引用<include resource="org/springframework/boot/logging/logback/base.xml"/>

<?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>

查明真相,探索解决方案

正解:

/tmp目录spring.log暴增,logback配置的祸

参见:

stackoverflow

https://stackoverflow.com/questions/50386520/spring-boot-spring-log-under-tmp

GitHub

https://github.com/spring-projects/spring-boot/pull/16901

默默的使用base.xml 的小伙伴,赶紧查一下吧