httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Kaluža <>
Subject Re: [PATCH] Make error logging modular
Date Wed, 18 Sep 2013 12:01:20 GMT
On 07/22/2013 08:02 AM, Jan Kaluza wrote:
> ----- Original Message -----
>> Hello Jan,
>> Is there any reason we shouldn't do this in trunk?
> I don't see any reason. This patch was intended for trunk, but I don't have
> svn commit access, so I'm sending patches to this list :). It's also better
> that someone reviews my code, because I don't have so long experience with
> httpd development.

If there's nobody against this change, I will commit the first two 
patches (+ documentation) to trunk in the end of the week. I think we 
should wait with mod_journald a bit until journald's performance gets 
better, but if you think it would be useful to have mod_journald in 
trunk too, let me know.

Jan Kaluza

> Regards,
> Jan Kaluza
>> The patches and features seem generally correct to me with a cursory review.
>> Thanks,
>> Paul
>> On Mon, May 27, 2013 at 3:23 AM, Jan Kaluža <> wrote:
>>> Hi,
>>> last week I was trying to write my own module to log error_log to
>>> systemd-journal [1] and I've found out that with the current error_log
>>> code,
>>> it's not possible to do that properly.
>>> I was able to use "error_log" hook, but there is no way to disable creation
>>> of "ErrorLog" file (One can set it to "/dev/null", but httpd will still
>>> write data to it without any reason). Syslog logger fixes that by
>>> hardcoding
>>> syslog methods in log.c/core.c, but I don't think that's the right thing to
>>> do with journald.
>>> Therefore, I've created following patches:
>>> Their descriptions should be clear from their names, but I will describe
>>> them briefly here too.
>>> Patch 0001 declares ap_errorlog_provider which can be implemented by module
>>> providing error_log logger. Admin can later define "ErrorLog provider arg"
>>> to choose particular errorlog provider. Old syntax still works and the
>>> change is backward compatible. This patch also removes syslog logging from
>>> log.c (it is moved to newly created mod_syslog.c in next patch)
>>> Patch 0002 creates mod_syslog.c which uses the new API to implement syslog
>>> logging. It works the same way as the version in log.c I removed in
>>> previous
>>> patch, but it's in separate module.
>>> Patch 0003 shows how mod_journald.c can use the existing API. This module
>>> works well with systemd-journal, but unfortunately the performance of
>>> systemd-journal daemon is poor so far [2], but I presume it will be fixed
>>> and the module will be usable for general use in the future. There is
>>> probably no real benefit in accepting this last patch right now. It's here
>>> to only show why the previous two patches are useful.
>>> Note that this is my first bigger patch touching httpd core, so feel free
>>> to
>>> correct my possible mistakes... :)
>>> [1]
>>> [2]
>>> [patches]
>>> Regards,
>>> Jan Kaluza

View raw message