CentOS 上 Tomcat 日志位置与查看方法
一、默认日志目录与常见文件
- 日志统一位于 Tomcat 安装目录的 $CATALINA_HOME/logs(即 CATALINA_BASE/logs)。常见文件与作用如下:
- catalina.out:标准输出与错误日志(启动、停止与运行期输出)。
- catalina.yyyy-MM-dd.log:按日期切分的 Catalina 引擎日志。
- localhost.yyyy-MM-dd.log:应用部署在 localhost 上下文的日志。
- localhost_access_log.yyyy-MM-dd.txt:访问日志(由 AccessLogValve 产生)。
- manager.yyyy-MM-dd.log / host-manager.yyyy-MM-dd.log:管理应用日志。
- 若通过 RPM/YUM 安装,日志可能集中在 /var/log/tomcat/ 或 /var/log/tomcat7/;若使用 systemd 管理,还可用 journalctl 查看服务日志。以上路径会因安装方式与自定义配置而有所差异,建议先确认 CATALINA_HOME 或服务单元名称。
二、快速定位与常用查看命令
- 定位日志目录
- 查看环境变量:echo $CATALINA_HOME
- 若以服务运行:systemctl status tomcat(或 tomcat.service),从输出中确认 CATALINA_HOME 与 PID/工作目录。
- 查看与实时跟踪
- 进入日志目录:cd $CATALINA_HOME/logs
- 实时跟踪:tail -f catalina.out
- 查看末尾 N 行:tail -n 100 catalina.out
- 分页查看:less catalina.out
- 关键字过滤:tail -f catalina.out | grep -i error
- 按时间段导出:sed -n “/2025-10-01 10:00/,/2025-10-01 12:00/p” catalina.out > /tmp/tomcat_20251001.txt
- 使用 systemd 查看服务日志
- 实时查看:journalctl -u tomcat.service -f
- 查看本次启动日志:journalctl -u tomcat.service -b
- 按时间范围:journalctl -u tomcat.service --since “2025-10-01 10:00:00” --until “2025-10-01 12:00:00”
三、常见安装方式与日志路径对照
| 安装方式或版本 |
典型日志路径 |
说明 |
| 手动安装(Tomcat 8+/通用) |
$CATALINA_HOME/logs/catalina.out 等 |
日志在 logs 目录,按日期切分 |
| RPM/YUM(Tomcat 7) |
/var/log/tomcat7/ 或 /var/log/tomcat/ |
目录名随版本/发行包不同 |
| systemd 服务 |
结合 journalctl -u tomcat.service |
同时可查看服务标准输出与内核消息 |
| 说明:不同发行版与安装包可能调整目录与命名,请以实际环境为准。 |
|
|
四、日志轮转与配置要点
- 使用 logrotate 管理日志轮转
- 常见配置路径:/etc/logrotate.d/tomcat
- 示例(按天轮转、保留 7 天、压缩):
- /opt/tomcat/logs/catalina.out {
- daily
- rotate 7
- compress
- missingok
- notifempty
- create 0644 tomcat tomcat
- postrotate
- /bin/kill -HUP
cat /var/run/tomcat.pid 2>/dev/null 2>/dev/null || true
- endscript
- }
- 手动触发测试:logrotate -f /etc/logrotate.d/tomcat
- 调整日志级别与输出
- 编辑 $CATALINA_HOME/conf/logging.properties,可设置 handlers 与各级别(如 FINE/WARNING)以控制输出量与内容。