温馨提示×

什么占用tomcat日志空间

小樊
47
2026-10-13 02:09:43
栏目: 云计算

Tomcat 日志空间被占用,通常是由以下几类日志文件不断累积造成的:

1. catalina.out(最常见)

  • 位置:$CATALINA_HOME/logs/catalina.out
  • 占用原因:
    • 应用使用 System.out.println() 或日志框架输出到控制台
    • 未配置日志滚动(rotation)
    • 错误信息、堆栈异常过多
  • 特点:不会自动切割,容易变得非常大

2. localhost.log / localhost_access_log

  • localhost.log:Web 应用部署、Servlet 异常
  • localhost_access_log.yyyy-mm-dd.txt:访问日志
  • 一般按天生成,但长期不清理也会占用空间

3. catalina.yyyy-mm-dd.log

  • Tomcat 自身运行日志
  • 默认按天滚动,但旧文件不自动删除

4. manager / host-manager 日志

  • manager.log
  • 使用 Manager 应用时产生,通常不大

5. 应用自身日志(常被忽略)

  • 如 log4j、logback 生成的日志
  • 位置可能在:
    • logs/
    • 应用目录 WEB-INF/logs/
    • 服务器其他目录
  • 若未配置滚动或清理策略,会持续增大

6. 线程 dump / heap dump 文件

  • 如 java_pid*.hprof
  • 一般出现在 OOM 或手动 dump 时
  • 单个文件可能几个 GB

常见导致“突然暴涨”的原因

  • 死循环或频繁异常打印
  • 日志级别设置过低(如 DEBUG)
  • 访问量突增(access log)
  • 内存溢出生成 hprof 文件

排查建议

# 查看日志目录占用
du -sh $CATALINA_HOME/logs/*

# 查找大文件
find $CATALINA_HOME -type f -size +100M

解决方式

  • 配置 logrotate(Linux)
  • 使用 log4j / logback 滚动策略
  • 定期清理或归档旧日志
  • 控制应用日志级别

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

  • 用的是 Linux 还是 Windows
  • Tomcat 版本
  • 是否用了 log4j / logback

我可以给你具体的配置示例。

0 踩