Ubuntu Tomcat日志查看与分析
一 日志位置与类型
| 文件名 | 作用与说明 |
|---|---|
| catalina.out | 标准输出与标准错误(stdout/stderr),常用于查看启动报错、未捕获异常、应用直接打印的日志 |
| catalina.yyyy-MM-dd.log | Tomcat 引擎启动、关闭与运行日志(按天滚动) |
| localhost.yyyy-MM-dd.log | 与“本地主机”相关的应用日志,包含应用初始化、未捕获异常等 |
| localhost_access_log.yyyy-MM-dd.txt | 访问日志(AccessLog),记录请求方法、路径、状态码、耗时等 |
| manager.yyyy-MM-dd.log / host-manager.yyyy-MM-dd.log | 管理应用相关日志 |
echo $CATALINA_HOME二 快速查看与过滤
tail -f $CATALINA_HOME/logs/catalina.outsudo journalctl -u tomcat.service -fless $CATALINA_HOME/logs/catalina.out(支持搜索:/关键字,n/N 跳转)grep -i "error\|exception\|fail" $CATALINA_HOME/logs/catalina.outgrep "^2025-03-26" $CATALINA_HOME/logs/catalina.outgrep -i "error" $CATALINA_HOME/logs/catalina.out | wc -lsed -n '/^2025-03-26/,/^2025-03-27/p' $CATALINA_HOME/logs/catalina.out > catalina_20250326.outawk '{print $1}' $CATALINA_HOME/logs/localhost_access_log.*.txt | sort | uniq -c | sort -nr | headawk '$9 >= 500 {print $9}' $CATALINA_HOME/logs/localhost_access_log.*.txt | sort | uniq -c | sort -nrawk -F'"' '{sum+=$NF; n++;} END {print "avg ms:", sum/n}' $CATALINA_HOME/logs/localhost_access_log.*.txt三 定位常见问题的思路
ps aux | grep tomcatss -ltnp | grep 8080 或 netstat -tulpen | grep 8080locale、export LANG=en_US.UTF-8)。四 日志轮转与清理
/opt/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
说明:按天轮转、保留 7 天、压缩归档;copytruncate 适用于持续写入的 catalina.out。prefix="localhost_access_log." suffix=".txt" pattern="common" directory="logs" rotatable="true"/> 的方式由外部工具按日期生成新文件。五 日志级别与输出控制
handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# 示例:将某包日志级别调为 FINE
com.example.level = FINE