Author: pero
Date: Fri Aug 17 03:54:37 2007
New Revision: 567009
URL: http://svn.apache.org/viewvc?view=rev&rev=567009
Log:
Fix problem with uncorrect access log content length after my 64 bit change.
CoyoteResponse BytesWritten only correct after CoyoteAdapter finishResponse
flush the buffer :-)
Thanks Takayuki Kaneko
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java?view=diff&rev=567009&r1=567008&r2=567009
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
Fri Aug 17 03:54:37 2007
@@ -84,13 +84,13 @@
/**
* Number of bytes written.
*/
- private int bytesWritten = 0;
+ private long bytesWritten = 0;
/**
* Number of chars written.
*/
- private int charsWritten = 0;
+ private long charsWritten = 0;
/**
@@ -598,21 +598,31 @@
}
-
public int getBytesWritten() {
- return bytesWritten;
+ if (bytesWritten < Integer.MAX_VALUE) {
+ return (int) bytesWritten;
+ }
+ return -1;
}
-
public int getCharsWritten() {
- return charsWritten;
+ if (charsWritten < Integer.MAX_VALUE) {
+ return (int) charsWritten;
+ }
+ return -1;
}
-
public int getContentWritten() {
- return bytesWritten + charsWritten;
+ long size = bytesWritten + charsWritten ;
+ if (size < Integer.MAX_VALUE) {
+ return (int) size;
+ }
+ return -1;
}
+ public long getContentWrittenLong() {
+ return bytesWritten + charsWritten;
+ }
/**
* True if this buffer hasn't been used ( since recycle() ) -
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java?view=diff&rev=567009&r1=567008&r2=567009
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Response.java
Fri Aug 17 03:54:37 2007
@@ -305,6 +305,12 @@
return outputBuffer.getContentWritten();
}
+ /**
+ * Return the number of bytes actually written to the output stream.
+ */
+ public long getContentCountLong() {
+ return outputBuffer.getContentWrittenLong();
+ }
/**
* Set the application commit flag.
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?view=diff&rev=567009&r1=567008&r2=567009
==============================================================================
---
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
Fri Aug 17 03:54:37 2007
@@ -601,7 +601,7 @@
result.append(space);
- long length = response.getCoyoteResponse().getBytesWritten() ;
+ long length = response.getContentCountLong() ;
if (length <= 0)
value = "-";
else
@@ -806,15 +806,13 @@
value = "127.0.0.1";
}
} else if (pattern == 'b') {
- //int length = response.getContentCount();
- long length = response.getCoyoteResponse().getBytesWritten() ;
+ long length = response.getContentCountLong() ;
if (length <= 0)
value = "-";
else
value = "" + length;
} else if (pattern == 'B') {
- //value = "" + response.getContentLength();
- value = "" + response.getCoyoteResponse().getBytesWritten();
+ value = "" + response.getContentCountLong();
} else if (pattern == 'h') {
value = request.getRemoteHost();
} else if (pattern == 'H') {
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java?view=diff&rev=567009&r1=567008&r2=567009
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
Fri Aug 17 03:54:37 2007
@@ -584,7 +584,7 @@
else if (FieldInfo.SPECIAL_TIME==fieldInfos[i].location)
result.append(timeFormatter.format(date));
else if (FieldInfo.SPECIAL_BYTES==fieldInfos[i].location) {
- long length =
response.getCoyoteResponse().getBytesWritten() ;
+ long length = response.getContentCountLong() ;
if (length > 0)
result.append(length);
else
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java?view=diff&rev=567009&r1=567008&r2=567009
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java
Fri Aug 17 03:54:37 2007
@@ -523,8 +523,7 @@
result.append(space);
- long length = response.getCoyoteResponse().getBytesWritten() ;
-
+ long length = response.getContentCountLong() ;
if (length <= 0)
value = "-";
else
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java?view=diff&rev=567009&r1=567008&r2=567009
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
Fri Aug 17 03:54:37 2007
@@ -463,8 +463,8 @@
String query="";
if(request != null)
query = request.getRequestURI();
- long bytes = response.getCoyoteResponse().getBytesWritten() ;
-
+
+ long bytes = response.getContentCountLong() ;
if(bytes < 0)
bytes = 0;
int status = response.getStatus();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]