You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by al...@locus.apache.org on 2000/07/11 04:30:49 UTC
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/context DefaultCMSetter.java
alex 00/07/10 19:30:49
Modified: src/share/org/apache/tomcat/context DefaultCMSetter.java
Log:
Clean up logging behavior, remove printStackTrace()s
Outputting servlet exception as HTML now uses
Logger.throwableToString() -- Prints nested exceptions for
ServletException, TomcatException, and SQLException
Revision Changes Path
1.46 +6 -25 jakarta-tomcat/src/share/org/apache/tomcat/context/DefaultCMSetter.java
Index: DefaultCMSetter.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/context/DefaultCMSetter.java,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- DefaultCMSetter.java 2000/06/30 20:21:11 1.45
+++ DefaultCMSetter.java 2000/07/11 02:30:48 1.46
@@ -201,8 +201,7 @@
Throwable e= (Throwable)req.
getAttribute("tomcat.servlet.error.throwable");
if( e==null ) {
- System.out.println("ASSERT: Exception handler without exception");
- /*DEBUG*/ try {throw new Exception(); } catch(Exception ex) {ex.printStackTrace();}
+ log("Exception handler called without an exception", new Throwable("trace"));
return;
}
@@ -230,32 +229,14 @@
buf.append("<b>")
.append(sm.getString("defaulterrorpage.internalservleterror"))
.append("</b><br>");
- buf.append("<pre>");
-
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- e.printStackTrace(pw);
- buf.append(sw.toString());
+ buf.append("<pre>");
+ // prints nested exceptions too, including SQLExceptions, recursively
+ String trace = Logger.throwableToString
+ (e, "<b>" + sm.getString("defaulterrorpage.rootcause") + "</b>");
+ buf.append(trace);
buf.append("</pre>\r\n");
-
- if (e instanceof ServletException) {
- Throwable cause = ((ServletException)e).getRootCause();
- if (cause != null) {
- buf.append("<b>")
- .append(sm.getString("defaulterrorpage.rootcause"))
- .append("</b>\r\n");
- buf.append("<pre>");
-
- sw=new StringWriter();
- pw=new PrintWriter(sw);
- cause.printStackTrace( pw );
- buf.append( sw.toString());
-
- buf.append("</pre>\r\n");
- }
- }
buf.append("\r\n");