centos tomcat日志中如何查看错误码
导读:定位思路与日志文件 Tomcat 的主要日志位于 $CATALINA_HOME/logs,常见文件与作用如下: catalina.out:标准输出与标准错误,包含启动、运行与未捕获异常。 catalina.yyyy-MM-dd.log:...
定位思路与日志文件
- Tomcat 的主要日志位于 $CATALINA_HOME/logs,常见文件与作用如下:
- catalina.out:标准输出与标准错误,包含启动、运行与未捕获异常。
- catalina.yyyy-MM-dd.log:按日期切割的运行时日志。
- localhost.yyyy-MM-dd.log:应用上下文相关日志(Servlet/JSP 报错常见)。
- localhost_access_log.yyyy-MM-dd.txt:访问日志,包含 HTTP 状态码(如 500、404)。
- 若使用 systemd 管理 Tomcat,还可通过 journalctl -u tomcat.service 查看服务日志。
快速查看错误码的命令
- 实时查看运行日志中的错误与异常
- tail -f $CATALINA_HOME/logs/catalina.out | grep -E -i “ERROR|Exception”
- 查看访问日志中的 HTTP 状态码(如 500、404、502)
- grep " 500 " $CATALINA_HOME/logs/localhost_access_log.2025-11-14.txt
- 统计某状态码出现次数:grep " 500 " localhost_access_log.*.txt | wc -l
- 按时间窗口过滤(示例:今天 14:00–15:00)
- sed -n ‘/2025-11-14 14:00:/,/2025-11-14 15:00:/p’ $CATALINA_HOME/logs/catalina.out
- 查看异常堆栈及上下文
- grep -A 50 -B 20 “NullPointerException” $CATALINA_HOME/logs/catalina.out
- 若 Tomcat 以 systemd 运行
- journalctl -u tomcat.service -f | grep -i “error|exception|500”
- 提示:将 $CATALINA_HOME 替换为你的实际路径(如 /usr/local/tomcat)。
按错误码分类排查要点
- HTTP 状态码(在访问日志中)
- 500:服务器内部错误,优先在 localhost.yyyy-MM-dd.log 与 catalina.out 查找异常堆栈与根本原因(如空指针、数据库连接失败、依赖缺失)。
- 404:资源未找到,检查应用上下文路径、部署包是否包含对应资源或映射是否正确。
- 403/401:权限或认证失败,核对 web.xml 安全约束、Realm 配置与用户权限。
- 502/503:网关/后端不可用,排查反向代理(如 Nginx)与 Tomcat 是否存活、线程是否耗尽。
- Java 异常与错误(在 catalina.out/localhost 日志中)
- 关注异常类型与首行信息(如 ClassNotFoundException、NoClassDefFoundError、SQLException),结合堆栈定位到具体类与行号,再回溯近期变更与依赖版本。
提高排查效率的小技巧
- 使用 less 分页查看并按关键字搜索(/关键字),便于在长日志中快速跳转。
- 增加日志可观测性:在 conf/logging.properties 中适当调低某些包的日志级别(如将 java.util.logging 的级别调为 FINE),以获取更详细的启动与运行信息(仅在排障期间临时使用,避免磁盘压力)。
- 若日志已被轮转,按日期打开对应文件(如 catalina.2025-11-13.log);必要时用 sed 截取时间段日志进行离线分析。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos tomcat日志中如何查看错误码
本文地址: https://pptw.com/jishu/747901.html
