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