$r vs. Apache2::RequestUtil->request

Charlie Katz <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Message-ID <CAC1kbLB-znt9ZU6hcBbVx_WsPrgOHvdS1uBfBV0_XLXx0q0ZFg@mail.gmail.com>
Hi, I'm confused about something.  I am cleaning up some legacy Perl code in
our application, and I find a number of our custom Perl modules have
functions which require $r be passed to them solely for use in logging (e.g.
$r->log->error()). I want to remove that requirement, so I am changing
things around so that the code uses Apache2::RequestUtil::request to get the
request object when needed.  This is working fine, except when I use the
object retrieved that way, the $r->log methods fail to write to the server
log.   In addition, I see that the original $r and the new one from
A::RU::request are different:

use Data::Dumper;
print STDERR Dumper($r);
print STDERR Dumper(Apache2::RequestUtil->request);

yields

$VAR1 = bless( do{\(my $o = 158143776)}, 'Apache2::Request' );
$VAR1 = bless( do{\(my $o = 158116376)}, 'Apache2::RequestRec' );

Can someone help me understand this difference, and how to use the object
retrieved from A::RU::request to access the Apache2::Log methods?  Why isn't
the original $r an Apache2::RequestRec object?

This is Perl 5.14.2, mod_perl 2.0.5

Thanks.

Charlie Katz
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.