解读 Tomcat 异常日志,核心目标是快速定位“什么时间、哪个应用、哪段代码、什么原因出错”。下面按「日志结构 → 常见异常分类 → 解读步骤 → 实战示例」来说明。
常见日志位置(CATALINA_BASE/logs):
示例:
2024-01-12 10:23:45.123 SEVERE [http-nio-8080-exec-3]
org.apache.catalina.core.StandardWrapperValve.invoke
Servlet.service() for servlet [dispatcher] in context with path [/demo] threw exception
java.lang.NullPointerException
at com.example.demo.UserController.getUser(UserController.java:42)
at ...
关键要素:
http-nio-8080-exec-3StandardWrapperValve/demoNullPointerExceptionClassNotFoundException:缺 jar 或类路径错误NoClassDefFoundError:编译有,运行缺Port already in use:端口被占用NullPointerException:对象未初始化SQLException:数据库问题IOException:文件/网络问题Deployment failed:war 包结构错误OutOfMemoryError:内存不足日志:
SEVERE [...] Servlet.service() for servlet [jsp] in context [/shop] threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP
解读:
/shopgrep 过滤:grep -n ERROR catalina.out如果你有具体的一段 Tomcat 异常日志,可以直接贴出来,我可以帮你逐行解读并给出可能原因和解决方案。