我的web.xml中有以下行,用自定义的用户友好错误页面替换堆栈跟踪呈现。
<error-page>
<location>/error.html</location>
</error-page>
我想知道的是,是否可以让Tomcat将error-page元素处理的任何异常记录到日志文件中。如果我使用访问日志,我会看到500,但我无法看到堆栈跟踪。如何将堆栈跟踪记录到日志中?
答案 0 :(得分:3)
您可以创建一个专用的servlet来处理错误。
<servlet>
<servlet-name>ErrorHandler</servlet-name>
<servlet-class>ErrorHandler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ErrorHandler</servlet-name>
<url-pattern>/ErrorHandler</url-pattern>
</servlet-mapping>
然后在<location>
的{{1}}中引用它:
<error-page>
然后实现<error-page>
<location>/ErrorHandler</location>
</error-page>
servlet,以便在转发到现有的用户友好错误页面之前记录原始异常。例如:
ErrorHandler