在 Debian 上运行的 Tomcat,日志通常包括以下几类:
localhost_access_log.*.txt)下面按常见需求介绍“过滤 Tomcat 日志”的方法。
tail -f /var/log/tomcat9/catalina.out | grep ERROR
忽略大小写:
tail -f /var/log/tomcat9/catalina.out | grep -i error
tail -f /var/log/tomcat9/catalina.out | grep -v DEBUG
tail -f /var/log/tomcat9/catalina.out | grep -E "ERROR|Exception"
grep "ERROR" /var/log/tomcat9/catalina.out
grep "2024-01-15" /var/log/tomcat9/catalina.out
grep -A 10 -B 5 ERROR /var/log/tomcat9/catalina.out
Access log 一般在:
/var/log/tomcat9/localhost_access_log.*.txt
grep " 500 " /var/log/tomcat9/localhost_access_log.*.txt
grep "192.168.1.100" /var/log/tomcat9/localhost_access_log.*.txt
grep "POST" /var/log/tomcat9/localhost_access_log.*.txt
如果是 systemd 管理的 Tomcat:
journalctl -u tomcat9 -f
过滤错误:
journalctl -u tomcat9 | grep ERROR
按时间:
journalctl -u tomcat9 --since "2024-01-15 10:00"
编辑:
/etc/tomcat9/logging.properties
示例(只记录 WARNING 以上):
org.apache.catalina.level = WARNING
在 bin/catalina.sh 中修改:
CATALINA_OUT=/dev/null
Debian 默认使用 logrotate:
/etc/logrotate.d/tomcat9
可配置保留天数、压缩等。
查看实时异常:
tail -f /var/log/tomcat9/catalina.out | grep -E "ERROR|Exception|Stack"
只关注某接口:
tail -f /var/log/tomcat9/localhost_access_log.*.txt | grep "/api/login"
如果你能说明:
我可以给你更精确的命令或配置。