温馨提示×

debian tomcat日志怎么分析

小樊
46
2026-09-01 08:38:43
栏目: 智能运维

在 Debian 上分析 Tomcat 日志,通常可以从日志位置、日志类型、常用分析命令、常见问题定位几个方面入手。下面给你一份实用指南。


一、Tomcat 日志在哪里(Debian)

Tomcat 日志默认在:

/var/log/tomcat9/        # Debian 10/11 常见
/var/log/tomcat10/       # Debian 12+

常见日志文件:

文件 说明
catalina.out 主日志,最核心
catalina.YYYY-MM-DD.log 按天滚动
localhost.YYYY-MM-DD.log 本地应用日志
localhost_access_log.YYYY-MM-DD.txt 访问日志
manager.log / host-manager.log 管理端日志

如果你是自己解压的 Tomcat:

$TOMCAT_HOME/logs/

二、Tomcat 日志类型说明

1. catalina.out(最重要)

  • JVM 启动信息
  • 异常堆栈(Exception / StackTrace)
  • 应用报错
  • OOM、线程死锁

2. access_log(访问日志)

格式类似:

127.0.0.1 - - [10/Oct/2024:10:00:00 +0800] "GET /api/test HTTP/1.1" 200 1234

用于:

  • 接口耗时
  • 状态码(404 / 500)
  • 访问频率

3. localhost.log

  • 应用部署错误
  • Servlet / Filter 初始化失败

三、常用分析命令(实战)

1. 实时查看日志

tail -f /var/log/tomcat9/catalina.out

2. 查看错误

grep -i error /var/log/tomcat9/catalina.out
grep -i exception /var/log/tomcat9/catalina.out

3. 查看最近 100 行

tail -n 100 /var/log/tomcat9/catalina.out

4. 按时间范围查

sed -n '/2024-10-10 10:00/,/2024-10-10 11:00/p' catalina.out

5. 统计 500 错误

grep " 500 " localhost_access_log.*.txt | wc -l

6. 最耗时的接口(access_log)

awk '{print $7, $10}' localhost_access_log.*.txt | sort -k2 -nr | head

四、常见问题的日志定位

1. Tomcat 启动失败

看:

catalina.out

重点:

  • java.lang.OutOfMemoryError
  • Port already in use
  • ClassNotFoundException

2. 应用 404

  • localhost_access_log
  • localhost.log

3. 接口 500

  • catalina.out 中的异常堆栈
  • 找到 Caused by

4. 内存溢出(OOM)

java.lang.OutOfMemoryError: Java heap space

解决:

  • 调整 JAVA_OPTS
JAVA_OPTS="-Xms512m -Xmx1024m"

五、日志级别调整(调试用)

编辑:

/etc/tomcat9/logging.properties

示例:

org.apache.catalina.level = FINE

六、进阶工具(可选)

  • lnav:日志分析神器
apt install lnav
lnav /var/log/tomcat9/
  • ELK / Grafana Loki(生产环境)
  • goaccess(access_log 可视化)

如果你愿意,可以:

  • 贴一段 catalina.out 报错
  • 或说明你是 开发 / 运维 / 排错场景

我可以直接帮你分析具体日志。

0