Re: Apache Error Log Format
[prev]
[thread]
[next]
[Date index for 2005/05/31]
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!
>
>