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]