发布于 4年前

Tomcat_调试“Severe:ERROR LISTENERSTART”和“Severe:ERROR FILTERSTART”之类的错误消息

默认情况下,tomcat不会为您提供有关错误原因的任何详细信息。事实上,它甚至不会告诉你哪个过滤器或监听器出现问题。在具有多个过滤器和监听器配置的应用中,这可能是一个很大的问题。因为若没有正确的调试方法则会走很多弯路, 甚至花费很长时间都得不到出现问题的原因, 以及解决问题的正确方案.

(一个web服务端的项目, 进行搭建并尝试编写模块. 反复尝试数次后仍得不到解决, 最后便通过此方法将异常输出至日志中, 通过查看日志去分析出问题出现的出处. 果不其然, 最后发现是由于项目插件模块缺失两个...)

1.发生时机

1.1 SEVERE: Error listenerStart

在ServletContextListener的contextInitialized方法中抛出异常时发生

1.2 SEVERE: Error filterStart

该错误消息会在过滤器的init方法中抛出异常时发生.

2.解决方法

幸运的是有一个解决方案。在Web应用程序的WEB-INF / classes文件夹中,您可以创建一个具有以下内容的logging.properties文件

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler

现在便可通过堆栈来跟踪异常出现的地方~

©2020 edoou.com   京ICP备16001874号-3