2009-04-03 5 views
3

Quelle est la meilleure façon d'obtenir certaines informations de trace de la pile, peut-être l'Exeception.message sur ma page d'erreur personnalisée 500 avec tomcat, spring, jsf? Je voudrais juste que la cause de l'exécution soit affichée.obtenir des informations de trace de pile dans une erreur tomcat personnalisée 500 page

+0

Que voulez-vous faire exactement avec la trace de pile? Pour enregistrer la pile dans le journal du serveur ou pour afficher la trace de la pile à l'utilisateur (dans une page XHTML/JSP)? – romaintaz

Répondre

5

Voici la syntaxe JSP que j'ai utilisée avec Struts. Vous pouvez probablement obtenir ceci ou un travail similaire avec 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> 
0

Ma solution à ce était-

Déclarez la page jsp d'erreur à une page d'erreur en utilisant this-

<%@ page isErrorPage="true"%> 

Plus tard dans la même page jsp, vous pouvez accéder à la « exception "objet d'imprimer la trace de la pile à l'endroit où vous voulez.

<%exception.printStackTrace();%>