You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rob Hartill <ha...@ooo.lanl.gov> on 1995/07/28 17:43:18 UTC

logging problems

I was trying to stay silent, but need to report some non-fatal 
problems with logging...


If a client aborts a connection the logfiles *can* tell lies.

Access log might record everything as ok, error log can record nothing or
the wrong information.

I can see aborted CGI logged as 200 "OK" in access_log with
nothing in the error_log.

All aborted requests are incorrectly logged  "send timed out" which is 
what 0.6.5 and earlier did.

Unless there's a reason to keep logging in this way, a fix for 
could be

in timeout()
          sprintf(errstr,"%s timed out for %s",
            timeout_name ? timeout_name : "request",
            current_conn->remote_name);

becoming

    if (sig == SIGPIPE)
        sprintf(errstr,"%s. Connection with %s lost",
            timeout_name ? timeout_name : "request",
            current_conn->remote_name);
    else
        sprintf(errstr,"%s timed out for %s",
            timeout_name ? timeout_name : "request",
            current_conn->remote_name);



More worrying is that an aborted request can be logged as if nothing 
was wrong, e.g.  (note the varying byte counts which are understandable)

[Fri Jul 28 09:11:31 1995] send. Connection with ooo.lanl.gov lost
[Fri Jul 28 09:11:36 1995] send. Connection with ooo.lanl.gov lost

ooo.lanl.gov - - [28/Jul/1995:09:11:31 -0600] "GET /anim5.asis HTTP/1.0" 200 98304
ooo.lanl.gov - - [28/Jul/1995:09:11:36 -0600] "GET /anim5.asis HTTP/1.0" 200 81920


Maybe that's a desired effect; recording what was requested and how much
of it was sent before the problem occured, but it doesn't correspond with
<= 0.6.5 logging procedure. Earlier discussion about logging suggests there's
no clean way to add info to CLF to indicate that the request didn't complete
as expected.

fix/ignore/whatever.



rob