温馨提示×

ubuntu怎么解读tomcat日志

小樊
39
2026-08-20 15:33:38
栏目: 智能运维

在 Ubuntu 上解读 Tomcat 日志,核心就是搞清楚 日志在哪、日志分哪几类、怎么看、怎么定位问题。下面按实用角度给你一个完整说明。


一、Tomcat 日志默认位置

如果你是用 apt 安装的 Tomcat(Ubuntu 常见方式):

/var/log/tomcat9/

如果是 手动解压的 Tomcat(如 /opt/tomcat):

/opt/tomcat/logs/

常见日志文件包括:

文件名 作用
catalina.out 最重要,标准输出 + 错误日志
catalina.yyyy-mm-dd.log 按日期的 Tomcat 启动/运行日志
localhost.yyyy-mm-dd.log 应用级异常
manager.yyyy-mm-dd.log manager 应用日志
host-manager.yyyy-mm-dd.log host-manager 日志
localhost_access_log.yyyy-mm-dd.txt 访问日志(类似 Nginx access.log)

二、最常用:看 catalina.out

1️⃣ 实时查看日志(强烈推荐)

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

适合:

  • 启动 Tomcat
  • 访问接口
  • 看异常是否实时出现

2️⃣ 查看最近 100 行

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

3️⃣ 搜索错误关键字

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

只看最近 200 行中是否有异常:

tail -n 200 /var/log/tomcat9/catalina.out | grep Exception

三、Tomcat 日志怎么“解读”

1️⃣ 启动失败怎么看

重点看:

Caused by:
java.lang.ExceptionInInitializerError
java.lang.ClassNotFoundException
java.net.BindException: Address already in use

常见原因:

  • 端口被占用(8080、8005)
  • JDK 版本不匹配
  • jar 包缺失

2️⃣ 404 / 500 错误

先看访问日志

/var/log/tomcat9/localhost_access_log.2026-01-21.txt

示例:

127.0.0.1 - - [21/Jan/2026:10:01:01 +0800] "GET /demo HTTP/1.1" 404 1021
字段 含义
GET /demo 请求路径
404 状态码
1021 返回字节数

再看应用异常

localhost.yyyy-mm-dd.log

3️⃣ 内存溢出(OOM)

典型日志:

java.lang.OutOfMemoryError: Java heap space

解决方向:

  • 调整 setenv.sh / catalina.sh
  • 增加 -Xms / -Xmx

四、Tomcat 日志级别(高级)

日志配置文件位置(apt 安装):

/etc/tomcat9/logging.properties

常见级别(从低到高):

FINEST < FINE < INFO < WARNING < SEVERE

临时调试建议:

org.apache.catalina.level = FINE

⚠️ 生产环境不建议长期开 DEBUG


五、Ubuntu 系统日志(辅助)

Tomcat 启停异常也可以看:

journalctl -u tomcat9

或:

systemctl status tomcat9

六、快速排查流程(实战)

Tomcat 起不来

  1. systemctl status tomcat9
  2. journalctl -u tomcat9
  3. catalina.out

接口报错

  1. localhost_access_log
  2. localhost.*.log
  3. catalina.out

性能问题

  1. 看 GC 日志(如果开了)
  2. 看 OOM
  3. 看线程阻塞

如果你愿意,可以直接把 一段 catalina.out 日志贴出来,我可以帮你逐行解读,指出问题在哪、怎么改。

0