Tomcat的日志文件默认存储在**$CATALINA_HOME/logs**目录下($CATALINA_HOME为Tomcat安装目录)。常见日志文件及用途如下:
localhost_access_log.2025-09-21.txt)。使用tail -f命令持续显示日志文件末尾新增内容,适合监控Tomcat启动过程或实时排查运行问题。例如:
tail -f /path/to/tomcat/logs/catalina.out
按Ctrl+C终止跟踪。若需同时监控多个日志(如catalina.out和localhost.log),可使用multitail工具(需提前安装):
multitail /path/to/tomcat/logs/catalina.out /path/to/tomcat/logs/localhost.log
当日志文件较大时,使用less或more命令分页浏览,避免终端卡顿:
less命令(支持向前/向后翻页、关键字搜索):less /path/to/tomcat/logs/catalina.out
操作说明:按上下箭头键滚动,按/键输入关键字(如ERROR)搜索,按n跳转下一匹配项,按q退出。more命令(仅支持向前翻页):more /path/to/tomcat/logs/catalina.out
按空格键翻页,按q退出。结合grep命令筛选日志中的特定内容(如错误、警告或特定关键词),提升排查效率:
grep -i 'error' /path/to/tomcat/logs/catalina.out
grep -C3 'exception' /path/to/tomcat/logs/catalina.out
tail -f实时过滤(如监控实时错误):tail -f /path/to/tomcat/logs/catalina.out | grep -i 'error'
若日志中包含时间戳(如2025-09-21 14:30:00),可使用sed或grep提取特定时间段的内容:
sed命令(需日志时间格式固定):sed -n '/2025-09-21 14:00:00/,/2025-09-21 15:00:00/p' /path/to/tomcat/logs/catalina.out
上述命令提取14:00:00至15:00:00之间的日志。grep正则匹配(适用于时间格式为YYYY-MM-DD HH:MM:SS的场景):grep '2025-09-21 14:[0-5][0-9]' /path/to/tomcat/logs/catalina.out
上述命令匹配14:00至14:59之间的日志。使用grep结合wc -l统计特定错误(如OutOfMemoryError)的出现次数,快速评估问题严重性:
grep 'OutOfMemoryError' /path/to/tomcat/logs/catalina.out | wc -l
使用sed导出日志的特定行范围(如第1000至2000行)到新文件,便于离线分析:
sed -n '1000,2000p' /path/to/tomcat/logs/catalina.out > /tmp/error_snippet.log
若Tomcat配置了日志轮转(如按日期分割catalina.2025-09-21.log),需调整tail命令以跟踪新生成的日志文件:
tail --follow=name /path/to/tomcat/logs/catalina.*.log
--follow=name参数会让tail持续跟踪符合通配符规则的最新日志文件。
ls -l查看权限,chmod命令修改权限);server.xml中修改logging.properties)不同而变化,建议通过echo $CATALINA_HOME确认安装目录;cat查看大日志文件,优先使用less或tail分页加载,减少内存占用。