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.
Regards,
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 <jkal...@redhat.com> 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:
http://people.apache.org/~jkaluza/patches/logging/
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] http://0pointer.de/blog/projects/journalctl.html
[2] https://bugzilla.redhat.com/show_bug.cgi?id=963620
[patches] http://people.apache.org/~jkaluza/patches/logging/
Regards,
Jan Kaluza