httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <>
Subject Re: error log providers, multiple vhosts, mod_syslog
Date Tue, 12 Nov 2013 12:45:30 GMT
On Tue, Nov 12, 2013 at 7:33 AM, Jan Kaluža <> wrote:

> On 11/11/2013 10:50 AM, Stefan Fritsch wrote:
>> On Thu, 7 Nov 2013, Joe Orton wrote:
>>  On Thu, Oct 17, 2013 at 12:33:50PM +0000, Plüm, Rüdiger, Vodafone Group
>>> wrote:
>>>> 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?
>>> Jumping in here...
>>> Actually there should be few cases where modules write to stderr, no?
>>> I'm not sure we should even consider "writes to stderr get logged" a
>>> valid part of the module API.  "If you're not using ap_log_*error,
>>> you're out of luck" is not totally unreasonable.
>> I think LDAPLibraryDebug is one user of stderr going to the error log. As
>> the logging is done by the ldap library, there is really no way to change
>> it. But I guess it would be acceptable if that works only if logging to a
>> file (as long as logging to a file can be enabled even if the normal
>> logging goes somewhere else via an error log provider).
> Hm, it does not work like that currently. You can have just one active
> error log provider (so you log only to file or only using provider).
> However, current situation is not a regression. Stderr output done by
> LDAPLibraryDebug has been lost already in httpd-2.2 if the admin used
> "ErrorLog syslog".
> The solution could be forking another process which would read from stderr
> and send it to error log provider, but I personally think it's not worth
> doing it.
> Another solution could be logging stderr to file and everything else using
> error log provider, but this way looks little bit messy to me...

I was thinking about adding "StderrLog <filename>|none" to be able to
separate or discard the stuff that goes to stderr, whether or not a
provider is being used.  I think it would be useful in a more than one type
of configuration.

Provider in place?  Acts like "StderrLog none" unless StderrLog is coded.
No provider in place?  stderr goes to the error log unless StderrLog is

A warning about StderrLog <filename> is that there is no built-in support
for rotation (until/unless someone adds piped log support) and as such it
is intended only to be active while collecting data for a problem, after
which it should be disabled.

> Regards,
> Jan Kaluza

Born in Roswell... married an alien...

View raw message