在 Ubuntu 上,Tomcat 日志突然或持续变大是比较常见的问题,通常不是系统本身的问题,而是日志配置或应用行为导致的。下面按常见原因 → 表现 → 解决办法给你系统梳理一下。
Tomcat 默认会把 标准输出(stdout) + 标准错误(stderr) 写入:
/var/log/tomcat9/catalina.out
只要应用里有:
System.out.println(...)e.printStackTrace()日志就会只增不减,不会自动切割。
✅ 表现
✅ 解决
logrotate(推荐)Ubuntu 虽然自带 logrotate,但:
可能 没有 logrotate 配置
✅ 检查:
cat /etc/logrotate.d/tomcat9
✅ 示例(简化):
/var/log/tomcat9/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
⚠️ Tomcat 运行时不能随便
mv,必须用copytruncate
很多项目在:
使用了:
<level value="DEBUG"/>
✅ 表现
✅ 解决
INFO 或 WARNTomcat 的:
localhost_access_log.*.txt
在高并发下也会快速增长。
✅ 解决:
比如:
✅ 表现
✅ 解决
➡️ 默认不会接 Ubuntu 的 logrotate
# 1. 看哪个日志大
du -sh /var/log/tomcat9/*
# 2. 看磁盘
df -h
# 3. 看是否有 catalina.out
ls -lh /var/log/tomcat9/catalina.out
# 4. 看 logrotate 是否生效
logrotate -d /etc/logrotate.d/tomcat9
✅ 使用:
logrotatelog4j2 / logbackcatalina.out你可以直接贴:
ls -lh我可以针对你这台服务器直接给配置方案。