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)?