Dancer-Logger-File-PerRequest

 view release on metacpan or  search on metacpan

lib/Dancer/Logger/File/PerRequest.pm  view on Meta::CPAN

    my $logfile_callback = setting('logfile_callback') || sub {
        ## timestamp + pid + request->id
        my @d = localtime();
        my $file = sprintf('%04d%02d%02d%02d%02d%02d', $d[5] + 1900, $d[4] + 1, $d[3], $d[2], $d[1], $d[0]);
        my $request_id = Dancer::SharedData->request ? Dancer::SharedData->request->id : '';
        return $file . '-' . $$ . '-' . $request_id . '.log';
    };
    $self->{logfile_callback} = $logfile_callback;

    # per request
    Scalar::Util::weaken $self;
    my $on_end = sub {
        return unless $self->{fh};

        Dancer::Factory::Hook->execute_hooks('before_file_per_request_close', $self->{fh}, $self->{logfile});
        close($self->{fh}); # close
        undef $self->{fh};
        Dancer::Factory::Hook->execute_hooks('after_file_per_request_close', $self->{logfile}, Dancer::SharedData->response);
        undef $self->{logfile};
    };
    Dancer::Hook->new('after' => $on_end);



( run in 0.487 second using v1.01-cache-2.11-cpan-65fba6d93b7 )