On 10/25/2013 03:37 PM, Jeff Trawick wrote:
I'm hoping to get back to this discussion "soon."  I also have a 2.4.x
patch I've played with that is roughly in sync with trunk (though syslog
logging support isn't a provider in the 2.4.x version).

Does your patch fix stderr logging? I wanted to write proof of concept logger as described by Rüdiger below, but I didn't manage to find a time for it recently :(. If you have working solution for that, I wouldn't waste my time :).

Thanks,
Jan Kaluza


On Thu, Oct 17, 2013 at 8:33 AM, Plüm, Rüdiger, Vodafone Group
<ruediger.pl...@vodafone.com <mailto:ruediger.pl...@vodafone.com>> wrote:



     > -----Original Message-----
     > From: Jan Kaluža
     > Sent: Donnerstag, 17. Oktober 2013 13:21
     > To: dev@httpd.apache.org <mailto:dev@httpd.apache.org>
     > Subject: Re: error log providers, multiple vhosts, mod_syslog
     >
     > There's another problem with log providers and vhosts and I think
    I have
     > no idea how to fix it without doing dirty hacks...
     >
     > The problem is with ap_open_logs function, which does following:
     >
     > 1. Main server log is opened (open_error_log()). If this log uses
    error
     > log provider, s_main->error_log is set to NULL.
     >
     > 2. When there is no s_main->error_log, stderr is redirected to
    /dev/null.

    Hmm. This points out another issue when using an error log provider
    for the main server log:
    We lose everything that the server or other programs like
    CGI-scripts write to the stderr FD as it
    is simply written to /dev/null. Don't we need to have a separate
    process in this case that
    like a piped logger reads from the reading end of the "stderr pipe"
    and writes it
    via ap_server_conf->errorlog_provider->writer to the log?

     >
     > 3. Error logs for vhosts are opened (another open_error_log()).
    If there
     > is some problem when opening these logs, any ap_log_error() call
    is sent
     > to /dev/null.

    Wouldn't it try to call s->errorlog_provider->writer in line 1196
    and Segfault if s->errorlog_provider
    is NULL because of some bad "classic" configuration that simply failed?

    Regards

    Rüdiger




--
Born in Roswell... married an alien...
http://emptyhammock.com/

Reply via email to