Dave,

On 2/24/26 8:43 AM, David Cleary wrote:
A customer is asking why the number of bytes written can appear as - in the 
access log when compression is enabled. They use this value in one of their 
monitoring tools.

AI tells me this:

When compression is enabled:

   1.  Compressed data is buffered in the compression filter layer
   2.  getBytesWritten(false) returns the count of bytes that have already been 
written to the socket
   3.  Any compressed data still residing in the buffer is not included because 
the buffer was never flushed
   4.  This can result in zero or an inaccurate byte count being logged

Is there any way to ensure this value gets logged when compression is enabled?

It sounds like your report says that only *sometimes* is the value appearing as - in the logs. Can you confirm that? Can you tell us roughly what percentage of access log entries contain - versus a real value?

Is there any pattern to the URLs that are being requested that show - as the bytes-written value?

My initial reaction is that Tomcat should be flushing that buffer even if the application isn't doing it, and should therefore be able to give an accurate number.

What version are you using, and are there any unusual things going on such as other Filters that might be altering the number of bytes passing through the pipeline?

-chris


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to