在 Ubuntu 上运行 Tomcat 时,常见的日志位置和管理方式如下,你可以根据**“想过滤什么”**来选择方法。
通常位于:
/var/log/tomcat9/ # Tomcat 9(常见)
/var/log/tomcat/ # 通用
常见日志文件:
catalina.out:主输出日志(最常用)catalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.loglocalhost_access_log.YYYY-MM-DD.txt(访问日志)tail -f /var/log/tomcat9/catalina.out | grep ERROR
只看异常(异常堆栈):
tail -f /var/log/tomcat9/catalina.out | grep -A 20 Exception
tail -f /var/log/tomcat9/catalina.out | grep "login"
多个关键字(或关系):
tail -f /var/log/tomcat9/catalina.out | grep -E "ERROR|WARN|Exception"
tail -f /var/log/tomcat9/catalina.out | grep -v "HealthCheck"
grep ERROR /var/log/tomcat9/catalina.2026-01-21.log
grep "21-Jan-2026 10:" /var/log/tomcat9/catalina.out
grep " 500 " /var/log/tomcat9/localhost_access_log.2026-01-21.txt
grep "/api/user" /var/log/tomcat9/localhost_access_log.2026-01-21.txt
awk '{print $1}' localhost_access_log.*.txt | sort | uniq -c | sort -nr | head
如果你希望 Tomcat 本身少打日志:
编辑:
/etc/tomcat9/logging.properties
示例(只记录 WARNING 及以上):
org.apache.catalina.level = WARNING
修改后重启:
systemctl restart tomcat9
Ubuntu 一般已自动配置:
/etc/logrotate.d/tomcat9
可手动测试:
logrotate -d /etc/logrotate.d/tomcat9
tail -f /var/log/tomcat9/catalina.out | grep -E "ERROR|Exception" --color=auto
如果你能告诉我:
我可以给你更精确的命令或配置方案。