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: [email protected]
For additional commands, e-mail: [email protected]