在 Ubuntu 上处理 Tomcat 日志过大 一般有几种常见做法,下面按实用程度给你总结一套方案,你可以按需选择。
Tomcat 日志主要在这几个文件:
catalina.out(最容易爆炸)catalina.loglocalhost.loglocalhost_access_log.*.txt其中 catalina.out 不会自动切割,最容易变大。
sudo vim /etc/logrotate.d/tomcat
内容示例(假设 Tomcat 在 /opt/tomcat/logs):
/opt/tomcat/logs/catalina.out {
daily
missingok
rotate 7
compress
delaycompress
notifempty
copytruncate
}
sudo logrotate -d /etc/logrotate.d/tomcat
sudo logrotate -f /etc/logrotate.d/tomcat
✅ copytruncate 很关键:不重启 Tomcat 也能切割日志
Tomcat 默认用 java.util.logging,不支持自动切割 catalina.out
如果你用的是:
log4jlogback✅ 可在配置里直接设置:
# 查看大小
du -sh /opt/tomcat/logs/*
# 清空 catalina.out(不删文件)
sudo truncate -s 0 /opt/tomcat/logs/catalina.out
⚠️ 这只是临时救急,不治本
编辑:
/opt/tomcat/conf/logging.properties
例如降低级别:
.level = WARNING
或修改 access log:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="common"
rotatable="true" />
✅ logrotate + copytruncate
✅ 保留 7~14 天
✅ 开启压缩
✅ 不重启 Tomcat
如果你愿意,可以告诉我:
我可以给你一份可直接用的配置。