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]

Reply via email to