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

Spring Boot中Logback持续生成大临时文件未删除的原因排查

Logback持续生成大临时文件的原因分析(基于你的配置)

核心问题:单日无大小切割导致活跃日志文件暴增

你使用的TimeBasedRollingPolicy仅会在每日00:00触发日志滚动,在滚动操作执行前,所有日志都会持续写入${appName}.log这个活跃日志文件:

  • 如果单日日志量远超预期,这个活跃文件会变得异常庞大
  • Logback执行滚动压缩时,会先创建一个与原日志文件体积几乎一致的临时文件用于压缩操作,直到压缩完成并生成最终的${appName}.%d{yyyy-MM-dd}.log.gz归档文件后,才会删除该临时文件
  • 这个过程中,临时文件会与原活跃日志文件同时占用磁盘空间,直接导致大量磁盘资源被消耗

配置参数的局限性

  • totalSizeCap:该参数仅用于清理历史归档日志,限制所有已压缩日志的总大小,完全不约束正在写入的活跃日志文件的增长,也不会触发中途的日志切割
  • 你尝试的%i索引:确实仅适用于SizeAndTimeBasedRollingPolicy,因为它是唯一支持按时间+大小双重规则触发滚动的策略,能够在单日日志达到指定大小时就执行切割,从根源上避免活跃文件和临时文件过大

可自查的验证点

如果要确认具体场景,可以检查:

  • 临时文件的命名(通常为${appName}.log.tmp或类似格式),确认其出现时间是否集中在每日00:00的滚动时段
  • 当日的${appName}.log文件大小,是否远超服务器磁盘的合理承载阈值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:47:45