温馨提示×

什么占用debian tomcat日志空间

小樊
41
2026-09-16 11:20:01
栏目: 云计算

在 Debian 系统上,Tomcat 日志占用空间通常来自以下几个方面(以常见的 Tomcat 8/9/10 为例):


一、Tomcat 自身日志目录

默认路径一般为:

/var/log/tomcat9/   (版本不同可能是 tomcat8 / tomcat10)

1. catalina.out(最常见、最容易爆盘)

  • 位置/var/log/tomcat9/catalina.out
  • 特点
    • 不自动切割
    • System.out / System.err 都会写这里
    • 应用日志如果直接打到控制台,也会进来
  • 最容易导致磁盘占满

2. catalina.YYYY-MM-DD.log

  • 按天生成的 Tomcat 启动/运行日志
  • 一般不会太大,但长期不清理会累积

3. localhost.YYYY-MM-DD.log

  • 应用部署、context 初始化相关日志

4. localhost_access_log.YYYY-MM-DD.txt

  • 访问日志(Access Log)
  • 高并发网站会非常大
  • server.xmlAccessLogValve 控制

5. manager / host-manager 日志

  • 使用管理界面时才会有
  • 一般量很小

二、Linux 系统日志(容易混淆)

有些“看起来像 Tomcat 的问题”其实是系统日志:

/var/log/syslog
/var/log/journal/

如果 Tomcat 频繁重启或 OOM,这里也会暴涨。


三、应用自身日志(常被误认为是 Tomcat)

  • log4j / logback 输出目录可能是:
/var/lib/tomcat9/webapps/xxx/WEB-INF/logs
/opt/xxx/logs
  • 这些不是 Tomcat 日志,但常在 Tomcat 目录下

四、如何快速定位是谁占空间

# 查看 Tomcat 日志目录占用
du -sh /var/log/tomcat9/*

# 找出大文件
ls -lhS /var/log/tomcat9/

# 系统级查看
du -h --max-depth=1 /var/log

五、常见优化方案

1. 切割 catalina.out

  • 使用 logrotate
  • 或改成 log4j / logback 输出,不写 console

2. 限制 Access Log

server.xml

<Valve className="org.apache.catalina.valves.AccessLogValve"
       rotatable="true"
       pattern="combined" />

3. 定期清理

find /var/log/tomcat9 -name "*.log" -mtime +30 -delete

如果你愿意,可以贴一下:

  • Tomcat 版本
  • df -hdu -sh /var/log/tomcat* 的结果

我可以帮你精确判断是哪一个在吃空间。

0