快速定位Tomcat日志中的异常可按以下步骤操作:
确定日志位置:
$CATALINA_HOME/logs/catalina.out(或catalina.YYYY-MM-DD.log)。localhost.YYYY-MM-DD.log(记录Spring等框架异常)。manager.YYYY-MM-DD.log(Tomcat管理操作日志)。快速筛选关键信息:
tail -f实时查看最新日志,或grep -i "error|exception"搜索关键字。SEVERE/ERROR级别的日志,忽略INFO/DEBUG(除非需调试)。分析异常堆栈:
Caused by行,追溯根本原因(如ClassNotFoundException需检查依赖)。UserController.java:45)。关联上下文信息:
localhost_access_log中的HTTP状态码)。c3p0或HikariCP相关日志)。工具辅助提效:
awk提取结构化数据(如统计错误频率),sort/uniq去重统计。常见问题定位方向:
catalina.out中BindException提示,用lsof -i:端口确认占用进程。OutOfMemoryError需分析堆转储文件(通过-XX:+HeapDumpOnOutOfMemoryError配置)。server.xml(如虚拟主机配置)、web.xml(如Servlet映射)的语法或路径错误。核心逻辑:先通过日志级别和关键字缩小范围,再以堆栈调用链为核心定位代码或配置问题,最后结合上下文(如请求参数、系统资源)验证原因。