Tomcat 日志不停增长,通常不是“Bug”,而是日志产生速度 > 清理/轮转速度,或配置导致日志被持续写入。下面按常见原因从高到低说明:
很多项目默认日志级别太低:
log4j / logback 设置为 DEBUG 或 INFO✅ 检查:
tail -f catalina.out
如果一直在刷请求、SQL、参数,就是这个问题。
✅ 解决:
WARN 或 ERROR<root level="WARN">
Tomcat 默认不会切割 catalina.out
cronolog 或 logrotate✅ 检查:
ls -lh logs/catalina.out
✅ 解决(示例 logrotate):
/opt/tomcat/logs/catalina.out {
daily
rotate 7
compress
copytruncate
}
例如:
✅ 特征:
✅ 解决:
localhost_access_log.*.txt
高并发下,这个文件增长极快。
✅ 解决:
例如:
Console + File✅ 表现:
✅ 检查:
grep -i "OutOfMemory" logs/catalina.out
# 1. 看哪个文件最大
du -sh logs/* | sort -h
# 2. 实时看日志
tail -f logs/catalina.out
# 3. 看日志级别
grep -R "level" your-log-config.xml
server.xml / logback.xml你现在是 catalina.out 涨,还是 某个业务日志涨?