Thanks Tom, good info I had not come across before! The page refers to
Apache 2, but they must have backported this to Apache 1.3 at some point
as well.
On Mon, 3 Apr 2006, Tom Schindl wrote:
Jonathan Field wrote:
Hi all,
I've noticed that under mod_perl any die() (or croak()) calls get
rewritten with a timestamp, a loglevel flag, and escaped newlines before
going to the error log. For example, under CGI if I call die("hello")
from a script called foo.cgi I get:
hello at /home/zappos/zappos.com/serverroot/foo/foo.cgi line 8.
However, if I put the same exact script under mod_perl using
Apache::Registry I get:
[Sat Apr 1 13:25:56 2006] [error] hello at
/usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi/Apache/Registry.pm
line 149\n
Has this always been the case? For some reason I feel like this is a
change, but I don't have any machines around with old mod_perl versions
to try it out.
I am wondering if there is any way around this... or if it is due to
some kind of configuration error on my part. As it stands the error
becomes pretty obfuscated. And it causes problems if you use croak()
from within a module, since it no longer respects the trailing newline
you get confusing messages like:
[Sat Apr 1 13:49:31 2006] [error] DBD::mysql::st execute failed:
Unknown column 'foobar' in 'field list' at
/usr/lib/perl5/site_perl/JF/Database.pm
line 170.\n at /home/zappos/zappos.com/serverroot/noauth/foo.cgi line
10\n
This is controlled by Apache please see:
http://perl.apache.org/docs/2.0/user/troubleshooting/troubleshooting.html#error_log_is_Full_of_Escaped__n___t__etc_
http://perl.apache.org/docs/2.0/user/install/install.html#Apache
Tom