I'm having a problem where requests made to Tomcat that the client aborts
early wind up not producing an access log line. I've reproduced it on
Tomcat 7.0.39 and Tomcat 8.0.28.

The repro case is pretty easy. Just use a browser to make a request to any
application endpoint and then close the browser tab before the request
finishes.

Stepping through the Tomcat source code it's pretty clear why the access
log is skipped in this case. The CoyoteAdapter calls
response.finishResponse() before calling the access log. If the client is
gone, the finishResponse method throws an exception when trying to flush
its output buffer, which causes the access log line to be skipped.

Does anyone have any insight into this problem?

Reply via email to