在 Debian 上分析 Tomcat 日志,通常从日志位置、日志类型、常用分析命令和工具几个方面入手。下面给你一套实用且系统的做法。
/var/log/tomcat9/
(版本不同可能是 tomcat8、tomcat10)
常见文件:
catalina.out # 主日志(最常用)
catalina.2026-01-21.log
localhost.2026-01-21.log
manager.2026-01-21.log
host-manager.2026-01-21.log
✅ 90% 的问题都在
catalina.out
tail -f /var/log/tomcat9/catalina.out
grep -i error /var/log/tomcat9/catalina.out
只看最近 100 行:
tail -n 100 /var/log/tomcat9/catalina.out | grep -i error
grep -A 20 "Exception" /var/log/tomcat9/catalina.out
grep "2026-01-21 14:" /var/log/tomcat9/catalina.out
wc -l /var/log/tomcat9/localhost_access_log.*.txt
grep -E "ERROR|Failed|Unable" /var/log/tomcat9/catalina.out
重点看:
grep -i "OutOfMemoryError" /var/log/tomcat9/catalina.out
ps -ef | grep tomcat
或:
systemctl cat tomcat9
路径示例:
/var/log/tomcat9/localhost_access_log.*.txt
awk '{print $1}' localhost_access_log.*.txt | sort | uniq -c | sort -nr | head
grep " 500 " localhost_access_log.*.txt
如果开启 %D:
awk '{print $NF}' localhost_access_log.*.txt | sort -nr | head
Debian 使用 systemd 时:
journalctl -u tomcat9 -f
查看某段时间:
journalctl -u tomcat9 --since "2026-01-21 10:00" --until "2026-01-21 15:00"
使用 logrotate:
cat /etc/logrotate.d/tomcat9
常见配置:
/var/log/tomcat9/catalina.out {
copytruncate
daily
rotate 7
compress
missingok
}
| 工具 | 用途 |
|---|---|
less |
大文件查看 |
awk |
统计 |
goaccess |
Web 访问日志可视化 |
ELK |
企业级日志分析 |
lnav |
日志高级查看 |
安装 lnav:
sudo apt install lnav
lnav /var/log/tomcat9/catalina.out
| 问题 | 命令 |
|---|---|
| Tomcat 起不来 | grep ERROR catalina.out |
| 内存溢出 | grep OutOfMemoryError |
| 端口占用 | ss -lntp |
| 请求 404 | localhost_access_log |
| 慢请求 | grep -i "slow" |
你可以直接贴出:
我可以 直接帮你定位问题。