You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Stephen Misel <st...@misel.com> on 2001/11/16 23:00:43 UTC

mod_log-any/8783: Is ErrorLog to a pipe reliable?

>Number:         8783
>Category:       mod_log-any
>Synopsis:       Is ErrorLog to a pipe reliable?
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Fri Nov 16 14:10:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     steve@misel.com
>Release:        1.3.22
>Organization:
apache
>Environment:
Linux www6.localweb.com 2.2.19 #5 Sat Sep 29 03:53:48 EDT 2001 i686 unknowngcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)


>Description:
I'm trying to ascertain if Apache is capable of restarting pipe processes for ErrorLog.   I've been doing piped logs with logparser for CLF format with

CustomLog "|/usr/local/bin/logparser" adti

and it works perfectly, even when the process is killed.  (what ya'll call reliable piped logs)

I have a similar program for errorlog and it doesn't restart after I kill it:
ErrorLog "|/usr/local/bin/errorparser"

[root@www6 /tmp]# ps ax | grep errorparser
 9898 ?        S      0:00 perl /usr/local/bin/errorparser
14367 pts/2    S      0:00 grep errorparser
[root@www6 /tmp]# kill 9898
[root@www6 /tmp]# ps ax | grep errorparser
14387 pts/2    S      0:00 grep errorparser
[root@www6 /tmp]# ps ax | grep errorparser
14392 pts/2    S      0:00 grep errorparser
[root@www6 /tmp]# /etc/rc.d/init.d/httpd restart
/etc/rc.d/init.d/httpd restart: httpd restarted
[root@www6 /tmp]# ps ax | grep errorparser
14424 ?        S      0:00 perl /usr/local/bin/errorparser
14485 pts/2    S      0:00 grep errorparser
[root@www6 /tmp]#


>How-To-Repeat:
I was able to re-create on Linux monitor 2.4.2-2 #1 Tue Oct 2 22:59:40 EDT 2001 i686 unknown with gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-81) and specifying:

ErrorLog "|cat >>/tmp/error_log"

Looked in the process table for cat, saw:

 6849 ?        S      0:00 /bin/sh -c cat >>/tmp/error_log

killed 6849 and never saw it come back.


>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
 [In order for any reply to be added to the PR database, you need]
 [to include <ap...@Apache.Org> in the Cc line and make sure the]
 [subject line starts with the report component and number, with ]
 [or without any 'Re:' prefixes (such as "general/1098:" or      ]
 ["Re: general/1098:").  If the subject doesn't match this       ]
 [pattern, your message will be misfiled and ignored.  The       ]
 ["apbugs" address is not added to the Cc line of messages from  ]
 [the database automatically because of the potential for mail   ]
 [loops.  If you do not include this Cc, your reply may be ig-   ]
 [nored unless you are responding to an explicit request from a  ]
 [developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]