Author: pero
Date: Thu Sep 13 22:46:45 2007
New Revision: 575543
URL: http://svn.apache.org/viewvc?rev=575543&view=rev
Log:
Support logging of current thread name at AccessLogValve (ex. add %I to your
pattern).
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
tomcat/container/tc5.5.x/webapps/docs/changelog.xml
tomcat/container/tc5.5.x/webapps/docs/config/valve.xml
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java?rev=575543&r1=575542&r2=575543&view=diff
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
Thu Sep 13 22:46:45 2007
@@ -41,6 +41,7 @@
import org.apache.catalina.connector.Response;
import org.apache.catalina.util.LifecycleSupport;
import org.apache.catalina.util.StringManager;
+import org.apache.coyote.RequestInfo;
/**
@@ -75,6 +76,7 @@
* <li><b>%v</b> - Local server name
* <li><b>%D</b> - Time taken to process the request, in millis
* <li><b>%T</b> - Time taken to process the request, in seconds
+ * <li><b>%I</b> - current request thread name (can compare later with
stacktraces)
* </ul>
* <p>In addition, the caller can specify one of the following aliases for
* commonly utilized patterns:</p>
@@ -118,6 +120,8 @@
// ----------------------------------------------------------- Constructors
+ private static final String MARK_EMPTY = "-";
+
/**
* Construct a new instance of this class with default property values.
*/
@@ -150,7 +154,7 @@
* The descriptive information about this implementation.
*/
protected static final String info =
- "org.apache.catalina.valves.AccessLogValve/1.0";
+ "org.apache.catalina.valves.AccessLogValve/1.1";
/**
@@ -603,7 +607,7 @@
long length = response.getContentCountLong() ;
if (length <= 0)
- value = "-";
+ value = MARK_EMPTY;
else
value = "" + length;
result.append(value);
@@ -615,7 +619,7 @@
if(referer != null)
result.append(referer);
else
- result.append("-");
+ result.append(MARK_EMPTY);
result.append("\"");
result.append(space);
@@ -624,7 +628,7 @@
if(ua != null)
result.append(ua);
else
- result.append("-");
+ result.append(MARK_EMPTY);
result.append("\"");
}
@@ -808,7 +812,7 @@
} else if (pattern == 'b') {
long length = response.getContentCountLong() ;
if (length <= 0)
- value = "-";
+ value = MARK_EMPTY;
else
value = "" + length;
} else if (pattern == 'B') {
@@ -818,7 +822,7 @@
} else if (pattern == 'H') {
value = request.getProtocol();
} else if (pattern == 'l') {
- value = "-";
+ value = MARK_EMPTY;
} else if (pattern == 'm') {
if (request != null)
value = request.getMethod();
@@ -857,14 +861,14 @@
if (request != null)
if (request.getSession(false) != null)
value = request.getSessionInternal(false).getIdInternal();
- else value = "-";
+ else value = MARK_EMPTY;
else
- value = "-";
+ value = MARK_EMPTY;
} else if (pattern == 's') {
if (response != null)
value = "" + response.getStatus();
else
- value = "-";
+ value = MARK_EMPTY;
} else if (pattern == 't') {
StringBuffer temp = new StringBuffer("[");
temp.append(dayFormatter.format(date)); // Day
@@ -884,14 +888,21 @@
if (request != null)
value = request.getRemoteUser();
if (value == null)
- value = "-";
+ value = MARK_EMPTY;
} else if (pattern == 'U') {
if (request != null)
value = request.getRequestURI();
else
- value = "-";
+ value = MARK_EMPTY;
} else if (pattern == 'v') {
value = request.getServerName();
+ } else if (pattern == 'I' ) {
+ RequestInfo info =
request.getCoyoteRequest().getRequestProcessor();
+ if(info != null) {
+ value= info.getWorkerThreadName();
+ } else {
+ value = MARK_EMPTY;
+ }
} else {
value = "???" + pattern + "???";
}
@@ -974,9 +985,9 @@
else
return value.toString();
else
- return "-";
+ return MARK_EMPTY;
} catch(Throwable e) {
- return "-";
+ return MARK_EMPTY;
}
}
@@ -1017,7 +1028,7 @@
private String calculateTimeZoneOffset(long offset) {
StringBuffer tz = new StringBuffer();
if ((offset<0)) {
- tz.append("-");
+ tz.append(MARK_EMPTY);
offset = -offset;
} else {
tz.append("+");
Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=575543&r1=575542&r2=575543&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Thu Sep 13 22:46:45 2007
@@ -26,6 +26,7 @@
<author email="[EMAIL PROTECTED]">Remy Maucherat</author>
<author email="[EMAIL PROTECTED]">Yoav Shapira</author>
<author email="[EMAIL PROTECTED]">Filip Hanik</author>
+ <author email="[EMAIL PROTECTED]">Peter Rossbach</author>
<title>Changelog</title>
</properties>
@@ -48,6 +49,10 @@
<add>
Support logging of all response header values at
ExtendedAccessLogValve (ex. add x-O(Set-Cookie) to your pattern). (pero)
</add>
+ <add>
+ Support logging of current thread name at AccessLogValve (ex. add %I
to your pattern).
+ Usefull to compare access logging entry later with a stacktraces.
(pero)
+ </add>
</changelog>
</subsection>
<subsection name="Cluster">
Modified: tomcat/container/tc5.5.x/webapps/docs/config/valve.xml
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/config/valve.xml?rev=575543&r1=575542&r2=575543&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/config/valve.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/config/valve.xml Thu Sep 13 22:46:45
2007
@@ -176,6 +176,7 @@
<li><b>%v</b> - Local server name</li>
<li><b>%D</b> - Time taken to process the request, in millis</li>
<li><b>%T</b> - Time taken to process the request, in seconds</li>
+ <li><b>%I</b> - current request thread name (can compare later with
stacktraces)</li>
</ul>
<p>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]