remm 2003/07/22 12:02:51 Modified: catalina/src/share/org/apache/catalina/core ApplicationDispatcher.java Log: - Similar to the other logging changes. - Log the root cause. Revision Changes Path 1.20 +37 -32 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java Index: ApplicationDispatcher.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- ApplicationDispatcher.java 17 Jul 2003 11:56:40 -0000 1.19 +++ ApplicationDispatcher.java 22 Jul 2003 19:02:50 -0000 1.20 @@ -694,7 +694,7 @@ // Check for the servlet being marked unavailable if (wrapper.isUnavailable()) { - log.error(sm.getString("applicationDispatcher.isUnavailable", + log(sm.getString("applicationDispatcher.isUnavailable", wrapper.getName())); if (hresponse == null) { ; // NOTE - Not much we can do generically @@ -720,12 +720,12 @@ // log(" No servlet instance returned!"); } } catch (ServletException e) { - log.error(sm.getString("applicationDispatcher.allocateException", + log(sm.getString("applicationDispatcher.allocateException", wrapper.getName()), e); servletException = e; servlet = null; } catch (Throwable e) { - log.error(sm.getString("applicationDispatcher.allocateException", + log(sm.getString("applicationDispatcher.allocateException", wrapper.getName()), e); servletException = new ServletException (sm.getString("applicationDispatcher.allocateException", @@ -758,14 +758,14 @@ request.removeAttribute(Globals.JSP_FILE_ATTR); support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT, servlet, request, response); - log.error(sm.getString("applicationDispatcher.serviceException", + log(sm.getString("applicationDispatcher.serviceException", wrapper.getName()), e); ioException = e; } catch (UnavailableException e) { request.removeAttribute(Globals.JSP_FILE_ATTR); support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT, servlet, request, response); - log.error(sm.getString("applicationDispatcher.serviceException", + log(sm.getString("applicationDispatcher.serviceException", wrapper.getName()), e); servletException = e; wrapper.unavailable(e); @@ -773,14 +773,23 @@ request.removeAttribute(Globals.JSP_FILE_ATTR); support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT, servlet, request, response); - log.error(sm.getString("applicationDispatcher.serviceException", - wrapper.getName()), e); + Throwable rootCause = e; + while (rootCause instanceof ServletException) { + Throwable t = ((ServletException) rootCause).getRootCause(); + if (t != null) { + rootCause = t; + } else { + break; + } + } + log(sm.getString("applicationDispatcher.serviceException", + wrapper.getName()), rootCause); servletException = e; } catch (RuntimeException e) { request.removeAttribute(Globals.JSP_FILE_ATTR); support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT, servlet, request, response); - log.error(sm.getString("applicationDispatcher.serviceException", + log(sm.getString("applicationDispatcher.serviceException", wrapper.getName()), e); runtimeException = e; } @@ -833,16 +842,13 @@ * @param message Message to be logged */ private void log(String message) { - // XXX remove it. - log.info( message); - -// Logger logger = context.getLogger(); -// if (logger != null) -// logger.log("ApplicationDispatcher[" + context.getPath() + -// "]: " + message); -// else -// System.out.println("ApplicationDispatcher[" + -// context.getPath() + "]: " + message); + Logger logger = context.getLogger(); + if (logger != null) + logger.log("ApplicationDispatcher[" + context.getPath() + + "]: " + message); + else + System.out.println("ApplicationDispatcher[" + + context.getPath() + "]: " + message); } @@ -854,16 +860,15 @@ * @param throwable Associated exception */ private void log(String message, Throwable throwable) { - log.info( message, throwable); -// Logger logger = context.getLogger(); -// if (logger != null) -// logger.log("ApplicationDispatcher[" + context.getPath() + -// "] " + message, throwable); -// else { -// System.out.println("ApplicationDispatcher[" + -// context.getPath() + "]: " + message); -// throwable.printStackTrace(System.out); -// } + Logger logger = context.getLogger(); + if (logger != null) + logger.log("ApplicationDispatcher[" + context.getPath() + + "] " + message, throwable); + else { + System.out.println("ApplicationDispatcher[" + + context.getPath() + "]: " + message); + throwable.printStackTrace(System.out); + } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]