You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Alexander Prohorenko <wh...@extrasy.net> on 2003/12/29 09:49:21 UTC
[users@httpd] problem with piped logs
Hello,
I've got a problem with working with piped logs on Apache. I have got
a program written in C to parse the logs and I've modified the
httpd.conf the following way:
LogFormat "%{Referer}i /%U ?%q %B" trafcountlog
CustomLog "|/var/nwlynx/traffer/traffer" trafcountlog
Program has been tested for getting fscanf () from stdin until EOF and
parses the logs. Sometimes it works, but for a short period of time.
After this the logs just stopping to be recieved by a program, and
after I do:
killall -SIGUSR1 httpd
or
/usr/local/apache/bin/apachectl graceful
I see the following warining the the error_log file.
[Sun Dec 28 04:54:42 2003] [warn] long lost child came home! (pid 25664)
I can see the program in processes list, as well:
25716 ?? Ss 0:00.31 /usr/local/apache/bin/httpd -DSSL
25731 ?? I 0:00.00 /bin/sh -c /var/nwlynx/traffer/traffer
25732 ?? I 0:00.00 /var/nwlynx/traffer/traffer
25733 ?? I 0:00.00 /usr/local/apache/bin/httpd -DSSL
25734 ?? I 0:00.00 /usr/local/apache/bin/httpd -DSSL
25735 ?? I 0:00.00 /usr/local/apache/bin/httpd -DSSL
25736 ?? I 0:00.00 /usr/local/apache/bin/httpd -DSSL
25737 ?? I 0:00.00 /usr/local/apache/bin/httpd -DSSL
25739 ?? I 0:00.00 /usr/local/apache/bin/httpd -DSSL
Sometimes it helps to start receiving logs by 'traffer' after doing:
killall traffer
It always helps to start recieving logs again by sending:
killall -SIGHUP httpd
Although, I just could not understand what is going wrong and why I'm
not able to parse the log through the piping.
I don't think that restarting Apache periodically is a good thing.
I'd be very thankfull for any help.
Thanks in advance.
Cheers,
--
Alexander Prohorenko