You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2001/08/06 21:21:55 UTC
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves AccessLogValve.java Constants.java
remm 01/08/06 12:21:55
Modified: catalina/src/share/org/apache/catalina/valves
AccessLogValve.java Constants.java
Log:
- Add a new combined mode for logging (logs the referer as well as the user-agent).
- New alias name for the patterm (combined).
- Patch submitted by Michael Smith <msmith at speedlegal.com>.
Revision Changes Path
1.9 +40 -2 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
Index: AccessLogValve.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- AccessLogValve.java 2001/07/24 23:21:09 1.8
+++ AccessLogValve.java 2001/08/06 19:21:55 1.9
@@ -119,6 +119,8 @@
* commonly utilized patterns:</p>
* <ul>
* <li><b>common</b> - <code>%h %l %u %t "%r" %s %b</code>
+ * <li><b>combined</b> -
+ * <code>%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"</code>
* </ul>
*
* <p><b>FIXME</b> - Improve the parsing so that things like
@@ -126,7 +128,7 @@
*
* @author Craig R. McClanahan
* @author Jason Brittain
- * @version $Revision: 1.8 $ $Date: 2001/07/24 23:21:09 $
+ * @version $Revision: 1.9 $ $Date: 2001/08/06 19:21:55 $
*/
public final class AccessLogValve
@@ -195,6 +197,13 @@
/**
+ * For the combined format (common, plus useragent and referer), we do
+ * the same
+ */
+ private boolean combined = false;
+
+
+ /**
* The pattern used to format our access log lines.
*/
private String pattern = null;
@@ -347,6 +356,8 @@
pattern = "";
if (pattern.equals(Constants.AccessLog.COMMON_ALIAS))
pattern = Constants.AccessLog.COMMON_PATTERN;
+ if (pattern.equals(Constants.AccessLog.COMBINED_ALIAS))
+ pattern = Constants.AccessLog.COMBINED_PATTERN;
this.pattern = pattern;
if (this.pattern.equals(Constants.AccessLog.COMMON_PATTERN))
@@ -354,6 +365,11 @@
else
common = false;
+ if (this.pattern.equals(Constants.AccessLog.COMBINED_PATTERN))
+ combined = true;
+ else
+ combined = false;
+
}
@@ -449,7 +465,7 @@
StringBuffer result = new StringBuffer();
// Check to see if we should log using the "common" access log pattern
- if (common) {
+ if (common || combined) {
String value = null;
ServletRequest req = request.getRequest();
@@ -501,11 +517,33 @@
result.append(space);
int length = response.getContentCount();
+
if (length <= 0)
value = "-";
else
value = "" + length;
result.append(value);
+
+ if (combined) {
+ result.append(space);
+ result.append("\"");
+ String referer = hreq.getHeader("referer");
+ if(referer != null)
+ result.append(referer);
+ else
+ result.append("-");
+ result.append("\"");
+
+ result.append(space);
+ result.append("\"");
+ String ua = hreq.getHeader("user-agent");
+ if(ua != null)
+ result.append(ua);
+ else
+ result.append("-");
+ result.append("\"");
+ }
+
} else {
// Generate a message based on the defined pattern
boolean replace = false;
1.3 +2 -0 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/Constants.java
Index: Constants.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/Constants.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Constants.java 2001/07/22 20:25:15 1.2
+++ Constants.java 2001/08/06 19:21:55 1.3
@@ -76,6 +76,8 @@
public static final class AccessLog {
public static final String COMMON_ALIAS = "common";
public static final String COMMON_PATTERN = "%h %l %u %t \"%r\" %s %b";
+ public static final String COMBINED_ALIAS = "combined";
+ public static final String COMBINED_PATTERN = "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"";
}
}