Re: Apache Error Log Format
[prev]
[thread]
[next]
[Date index for 2005/06/01]
That sounds more like the opposite...
I do want Apache to be prefixing each error message with its data...
Unless I misunderstood what that page was saying
Arshavir Grigorian wrote:
> Daniel B. Hemmerich wrote:
>
>> Thanks for the good idea... it is a direction worth investigating
>> further. Until someone offers a potentially better solution, I will
>> play around with this and hopefully in the next few days report back
>> on my results!
>>
>> Thanks again,
>> Daniel
>>
>> Jonathan Vanasco wrote:
>>
>>>
>>> I really have no idea, but no one has chimed up on this, so I'll try
>>> to help (and maybe someone here can clear up my misconceptions)
>>>
>>> MP writes to STDERR, BUT things can get weird because of the way
>>> apache2 handles error messages --
>>>
>>> I could have this wrong, but mp errors and perl errors seem to go to
>>> the main apache error log ( on my system that's
>>> /usr/local/apache2/logs/error_log ).
>>>
>>> When i specify a separate errorlog for a vhost, STDERR is directed there
>>>
>>> I don't know how to accomplish what you want , but I think I can
>>> help point you in a direction:
>>>
>>> When I saw this post, i remembered how the default OSX apache2/mp had
>>> a specific compile time option that didn't 'print' to apache -- i
>>> think one had to call $r->print() instead of print, because of how
>>> STDOUT was directed.
>>> The 'fix' was either to recompile apache, or set up a perl
>>> handler to tie STDOUT to Apache
>>>
>>> I'm found a post about this on google (not sure if its the 'right'
>>> one, i came across this 2 years ago):
>>> http://www.macosxhints.com/article.php?story=20031129120521712
>>> PerlHeaderParserHandler "sub { tie *STDOUT, 'Apache' unless
>>> tied *STDOUT; }"
>>>
>>> Based on that, i *think* that you could probably write a handler that
>>> intercepts STDERR, rewrites it to your specifications, and
>>> ties/redirects it somewhere
>>>
>>> But , two things worry me about this:
>>> a_ i'm not quite sure of the mechanics of the multiple log files
>>> that apache can generate, and which one(s) would have what you want
>>> -- or how to intercept them
>>> b_ i'm quite sure that there is a better way, that probably uses
>>> more of the apache configuration powers of mod_perl, and not a crazy
>>> hack like this
>>>
>>> Again, I dont have much of an idea on this -- but no one else chimed
>>> up and that tie to STDOUT really popped out in my memories when I
>>> read this post.
>>>
>>>
>>>
>>> On May 31, 2005, at 8:36 AM, Daniel B. Hemmerich wrote:
>>>
>>>> Hello all...
>>>>
>>>> When a misconfiguration occurs, we receive a new line in the apache
>>>> error logs that is not in the standard error log format (I assume
>>>> since MP is writing to STDERR). Short of changing all of our scripts
>>>> to properly log, is there a quicker method to accomplish the
>>>> following change:
>>>>
>>>> Change this:
>>>>
>>>> Can't locate /www/path/goes/here//config.pl in @INC (@INC contains:
>>>> /usr/local/lib/perl5/5.8.4/i686-linux /usr/local/lib/perl5/5.8.4
>>>> /usr/local/lib/perl5/site_perl/5.8.4/i686-linux
>>>> /usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl
>>>> .) at /www/example.com/cgi-bin/example.cgi line 64.
>>>>
>>>> To this:
>>>>
>>>> [Thu May 19 08:47:41 2005] [error] [MODULENAME Can't locate
>>>> /www/path/goes/here//config.pl in @INC (@INC contains:
>>>> /usr/local/lib/perl5/5.8.4/i686-linux /usr/local/lib/perl5/5.8.4
>>>> /usr/local/lib/perl5/site_perl/5.8.4/i686-linux
>>>> /usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl
>>>> .) at /www/example.com/cgi-bin/example.cgi line 64.
>>>>
>>>> Thanks in advance!
>>>
>>>
>>>
>>>
>
> Maybe it has to do with this:
>
> http://perl.apache.org/docs/2.0/user/install/install.html#Apache
>
> -DAP_UNSAFE_ERROR_LOG_UNESCAPED
>
>
>