Dintelmann, Peter wrote:
The log phase can be invoked in a protocol handler using the
run_log_transaction() method from Apache::HookRun.

    use Apache::Connection;
    use Apache::Const -compile => qw(OK);
    use Apache::RequestRec;
    use Apache::RequestUtil;
    use Apache::HookRun;

    sub handler
    {   my $c = shift;
        my $r = Apache::RequestRec->new($c);

        # IO loop goes here

        # finally log the request
        $r->run_log_transaction();

        return Apache::OK;
    }

Unfortunately the request_time of the newly created request
seems to be undefined.

Is there a way to manually set the request_time (or get it
automagically set to the time of the creation of $r)?

This should do the trick:

Index: xs/Apache/RequestUtil/Apache__RequestUtil.h
===================================================================
--- xs/Apache/RequestUtil/Apache__RequestUtil.h (revision 159348)
+++ xs/Apache/RequestUtil/Apache__RequestUtil.h (working copy)
@@ -79,6 +79,8 @@
     r->connection = c;
     r->server     = s;

+    r->request_time = apr_time_now();
+
     r->user            = NULL;
     r->ap_auth_type    = NULL;

we could also make $r->request_time settable.

--
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Reply via email to