监控 Tomcat 日志变化 常见方式有多种,取决于你是实时查看、自动告警还是集中收集分析。下面按使用场景给你一个完整总结。
tail -f(最推荐)Tomcat 默认日志目录:
$TOMCAT_HOME/logs/
常用日志文件:
catalina.out(最重要)localhost.loghost-manager.logmanager.log实时监控:
tail -f $TOMCAT_HOME/logs/catalina.out
查看最近 200 行并实时跟踪:
tail -n 200 -f catalina.out
✅ 适合:开发、运维排查问题
less(可搜索)less catalina.out
进入后:
Shift + F:实时跟踪(类似 tail -f)/error:搜索 errorq:退出tail -f catalina.out | grep -i "exception\|error\|nullpointer"
tail -f catalina.out | grep --color=auto -i "error\|exception"
grep "$(date +%Y-%m-%d)" catalina.out
sed -n "/$(date -d '5 min ago' '+%Y-%m-%d %H:%M')/,\$p" catalina.out
inotifywait(文件级监控)适合:日志文件内容变化触发动作
yum install -y inotify-tools
inotifywait -m -e modify $TOMCAT_HOME/logs/catalina.out | while read path event file
do
echo "日志发生变化"
done
✅ Linux 专用
✅ 可用于触发告警或处理
*/5 * * * * grep ERROR /opt/tomcat/logs/catalina.out | mail -s "Tomcat ERROR" admin@xx.com
logrotate/opt/tomcat/logs/catalina.out {
daily
rotate 7
missingok
notifempty
copytruncate
}
✅ 防止日志无限增长
✅ 企业常用
Get-Content catalina.out -Wait
| 场景 | 推荐方式 |
|---|---|
| 本地调试 | tail -f catalina.out |
| 生产排查 | tail -f + grep |
| 自动告警 | inotify + 脚本 |
| 大规模 | ELK / Loki |
| 日志管理 | logrotate |
如果你能告诉我:
我可以给你一个可直接用的监控方案或脚本 ✅