在 Ubuntu 上过滤 Tomcat 日志,通常取决于你想过滤什么内容以及日志类型。下面我按常见场景给你系统性的说明。
默认路径(取决于安装方式):
/var/log/tomcat9/
/opt/tomcat/logs/
常见日志文件:
catalina.out(最常用)localhost.logmanager.loghost-manager.logaccess_log.*.txt(访问日志)tail -f /opt/tomcat/logs/catalina.out | grep "ERROR"
✅ 只看错误日志
tail -f catalina.out | grep -E "ERROR|Exception"
✅ 看错误和异常
Tomcat 日志一般带时间戳,例如:
2026-01-21 10:30:12
grep "2026-01-21 10:" catalina.out
grep "LoginController" catalina.out
grep "/api/login" catalina.out
grep "192.168.1.100" access_log.2026-01-21.txt
grep " 500 " access_log.*.txt
grep " 404 " access_log.*.txt
grep "ERROR" catalina.out
grep -v "INFO" catalina.out | less
✅ -v 表示排除
grep "Exception" catalina.out | less
快捷键:
q 退出/ 搜索n 下一个sed -n '/2026-01-21 10:00/,/2026-01-21 10:10/p' catalina.out
awk '/2026-01-21 10:/' catalina.out
grep -E "NullPointerException|OutOfMemoryError" catalina.out
grep "UserService" catalina.out | grep "ERROR"
grep "ERROR" catalina.out | cut -d' ' -f1-4
du -h /opt/tomcat/logs/catalina.out
: > /opt/tomcat/logs/catalina.out
⚠️ 生产环境慎用
✅ 排查线上异常:
tail -f catalina.out | grep -E "ERROR|Exception"
✅ 查某时间段异常:
sed -n '/2026-01-21 10:00/,/2026-01-21 10:10/p' catalina.out | grep Exception
如果你愿意,可以告诉我:
我可以帮你写精准过滤命令。