温馨提示×

Tomcat异常日志如何搜索

小樊
35
2026-10-03 14:59:50
栏目: 智能运维

在 Tomcat 中排查异常,核心就是找到并搜索日志文件。下面按常见场景给你一个实用指南。


一、Tomcat 常见日志文件位置

1. 默认日志目录

$TOMCAT_HOME/logs/

常见文件:

  • catalina.out ✅(最重要,标准输出 + 异常堆栈)
  • catalina.yyyy-mm-dd.log
  • localhost.yyyy-mm-dd.log
  • localhost_access_log.yyyy-mm-dd.txt(访问日志,不是异常日志)
  • manager.yyyy-mm-dd.log
  • host-manager.yyyy-mm-dd.log

✅ 90% 的异常都在 catalina.out


二、最常用:搜索异常关键字

1. 搜索 Exception

grep -n "Exception" catalina.out

2. 搜索 Error

grep -n "ERROR" catalina.out

3. 搜索具体异常类型

grep -n "NullPointerException" catalina.out
grep -n "OutOfMemoryError" catalina.out

三、查看异常完整堆栈(重点)

异常通常有很多行,不要只看一行。

1. 查看 Exception 前后内容

grep -A 30 "Exception" catalina.out

2. 查看某行附近内容

sed -n '120,160p' catalina.out

3. 实时查看最新异常(生产常用)

tail -f catalina.out

四、按时间定位异常(推荐)

1. 看日志时间戳

Tomcat 默认格式:

2026-01-21 14:23:11.123 SEVERE [...]

2. 按时间段搜索

sed -n '/2026-01-21 14:00/,/2026-01-21 15:00/p' catalina.out

五、结合应用日志(如 log4j / slf4j)

如果你用了 logback / log4j:

  • 日志可能在:
    /app/logs/
    /var/log/your-app/
    
  • 文件名可能是:
    app.log
    error.log
    

搜索方式一样:

grep -n "ERROR" app.log

六、常见异常快速判断

现象 可能原因
ClassNotFoundException 包没部署 / 依赖缺失
NullPointerException 代码 bug
OutOfMemoryError 内存泄漏
Connection refused 数据库 / Redis 没连上
404 路径或部署问题
500 后台代码异常

七、实战排查建议顺序

  1. ✅ 先 tail -f catalina.out
  2. ✅ 复现问题
  3. ✅ grep Exception
  4. ✅ 看完整堆栈(前 20~30 行)
  5. ✅ 对照代码或依赖

如果你愿意,可以把:

  • 系统环境(Linux / Windows)
  • Tomcat 版本
  • 具体异常日志片段

贴出来,我可以直接帮你分析是哪一步出的问题。

0 踩