获取一些堆栈跟踪信息的最佳方法是什么,也许使用tomcat,spring,jsf将Exeception.message放到我的自定义错误500页面上?我只是喜欢显示exeception的根本原因。
答案 0 :(得分:6)
这是我在Struts中使用的JSP语法。你可以使用JSf来实现这个或类似的工作。
<!-- Get the exception object -->
<c:set var="exception" value="${requestScope['javax.servlet.error.exception']}"/>
<!-- Exception message(s) -->
<p>${exception.message}</p>
<p><c:if test="${not empty exception.cause.message}">${exception.cause.message}</c:if></p>
<!-- Stack trace -->
<jsp:scriptlet>
exception.printStackTrace(new java.io.PrintWriter(out));
</jsp:scriptlet>
答案 1 :(得分:1)
我对此的解决方案是 -
使用此< - p>将错误jsp页面声明为错误页面
<%@ page isErrorPage="true"%>
稍后在同一个jsp页面中,您可以访问“exception”对象以将堆栈跟踪打印到任何您想要的位置。
<%exception.printStackTrace();%>