You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Spring Boot自动创建/var/tmp/spring.log日志文件?

解决Spring Boot自动生成/var/tmp/spring.log的问题

我完全懂这种困扰——同一台机器部署多个应用时,共用一个临时日志文件简直是灾难,日志内容全混在一起根本没法排查问题。咱们来一步步搞定它:

先排查最容易忽略的点:外部配置是否触发默认日志

首先检查你的application.properties或者application.yml里有没有配置logging.path、logging.file.name或者logging.file.path这类属性。如果有的话,Spring Boot会自动基于这些配置创建默认的日志文件(比如你看到的/var/tmp/spring.log),哪怕你自己写了logback.xml也没用。直接删掉这些配置就行。

彻底独立配置logback,摆脱Spring Boot默认模板

你之前尝试移除base.xml的引用但没解决问题,大概率是因为配置不够完整,Spring Boot还是补了默认的日志规则。现在咱们写一个完全独立的logback.xml,不依赖Spring Boot的默认配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
    <!-- 保持你原来的JUL级别同步监听器 -->
    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
    </contextListener>

    <!-- 自定义滚动文件Appender,和你原来的配置一致 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logs/fix.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>90</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>utf-8</charset>
            <Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
        </encoder>
    </appender>

    <!-- 异步Appender,提升性能 -->
    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <queueSize>512</queueSize>
        <appender-ref ref="FILE"/>
    </appender>

    <!-- 自定义业务包的日志级别 -->
    <logger name="com.comp.myapp" level="INFO"/>

    <!-- Root Logger只绑定咱们自己的Appender,杜绝默认日志 -->
    <root level="INFO">
        <appender-ref ref="ASYNC"/>
        <!-- 如果需要控制台日志,取消下面注释并添加CONSOLE Appender配置 -->
        <!--<appender-ref ref="CONSOLE"/>-->
    </root>

    <!-- 可选:控制台日志Appender,按需启用 -->
    <!--
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>utf-8</charset>
            <Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
        </encoder>
    </appender>
    -->
</configuration>

确保配置文件被正确加载

  • 把这个配置文件放在src/main/resources目录下(Maven/Gradle项目的标准资源目录),Spring Boot启动时会自动加载它。
  • 如果还是有问题,启动应用时添加系统属性强制指定配置文件:-Dlogging.config=classpath:logback.xml。

最后验证

重启应用后,检查/var/tmp目录下是否还会生成spring.log,同时确认你的自定义日志文件(logs/fix.xxxx-xx-xx.log)正常生成即可。

内容的提问来源于stack exchange,提问作者sarmahdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:21:46