温馨提示×

tomcat日志过大ubuntu咋处理

小樊
35
2026-09-12 11:40:36
栏目: 智能运维

在 Ubuntu 上处理 Tomcat 日志过大 一般有几种常见做法,下面按实用程度给你总结一套方案,你可以按需选择。


一、最常见原因

Tomcat 日志主要在这几个文件:

  • catalina.out(最容易爆炸)
  • catalina.log
  • localhost.log
  • localhost_access_log.*.txt

其中 catalina.out 不会自动切割,最容易变大。


二、推荐方案(最稳妥):用 logrotate

1️⃣ 创建 logrotate 配置

sudo vim /etc/logrotate.d/tomcat

内容示例(假设 Tomcat 在 /opt/tomcat/logs):

/opt/tomcat/logs/catalina.out {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    copytruncate
}

2️⃣ 测试是否生效

sudo logrotate -d /etc/logrotate.d/tomcat
sudo logrotate -f /etc/logrotate.d/tomcat

copytruncate 很关键:不重启 Tomcat 也能切割日志


三、Tomcat 自带方式(不推荐单独用)

Tomcat 默认用 java.util.logging不支持自动切割 catalina.out

如果你用的是:

  • log4j
  • logback

✅ 可在配置里直接设置:

  • 按大小切割
  • 按天切割
  • 自动删除旧日志

四、临时清理(应急用)

# 查看大小
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


如果你愿意,可以告诉我:

  • Tomcat 安装路径
  • 是否在 Docker 里
  • Ubuntu 版本

我可以给你一份可直接用的配置

0