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]