Author: markt
Date: Mon Jul 11 16:08:23 2011
New Revision: 1145224

URL: http://svn.apache.org/viewvc?rev=1145224&view=rev
Log:
Improve logging of error conditions

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1145224&r1=1145223&r2=1145224&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Mon Jul 
11 16:08:23 2011
@@ -493,8 +493,24 @@ public class CoyoteAdapter implements Ad
         }
         
         try {
-            connector.getService().getContainer().logAccess(
-                    request, response, time, true);
+            // Log at the lowest level available. logAccess() will be
+            // automatically called on parent containers.
+            boolean logged = false;
+            if (request.mappingData != null) {
+                if (request.mappingData.context != null) {
+                    logged = true;
+                    ((Context) request.mappingData.context).logAccess(
+                            request, response, time, true);
+                } else if (request.mappingData.host != null) {
+                    logged = true;
+                    ((Context) request.mappingData.context).logAccess(
+                            request, response, time, true);
+                }
+            }
+            if (!logged) {
+                connector.getService().getContainer().logAccess(
+                        request, response, time, true);
+            }
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);
             log.warn(sm.getString("coyoteAdapter.accesslogFail"), t);

Modified: tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java?rev=1145224&r1=1145223&r2=1145224&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java Mon 
Jul 11 16:08:23 2011
@@ -452,10 +452,10 @@ public class TestAsyncContextImpl extend
 
         // Check the access log
         if (completeOnTimeout && dispatchUrl != null) {
-            if (!isAccessLogEnabled()) {
+            //if (!isAccessLogEnabled()) {
                 validateAccessLog(alv, 1, 500, 0, TimeoutServlet.ASYNC_TIMEOUT 
+
                         TIMEOUT_MARGIN + REQUEST_TIME);
-            }
+            //}
         } else {
             validateAccessLog(alv, 1, 200, TimeoutServlet.ASYNC_TIMEOUT,
                     TimeoutServlet.ASYNC_TIMEOUT + TIMEOUT_MARGIN +

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1145224&r1=1145223&r2=1145224&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Mon Jul 11 16:08:23 2011
@@ -75,6 +75,10 @@
         Allow choosing a locale for timestamp formatting in AccessLogValve.
         (rjung)
       </update>
+      <fix>
+        When generating access logs for errors, log at the Context/Host level 
if
+        a Context or Host can be identified for the failed request. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to