GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Dancer2::Logger::Capture(3) User Contributed Perl Documentation Dancer2::Logger::Capture(3)

Dancer2::Logger::Capture - Capture dancer logs

version 0.400000

The basics:

    set logger => "capture";

    my $trap = dancer_app->logger_engine->trapper;
    my $logs = $trap->read;

A worked-out real-world example:

    use Test::More tests => 2;
    use Dancer2;

    set logger => 'capture';

    warning "Danger!  Warning!";
    debug   "I like pie.";

    my $trap = dancer_app->logger_engine->trapper;

    is_deeply $trap->read, [
        { level => "warning", message => "Danger!  Warning!" },
        { level => "debug",   message => "I like pie.", }
    ];

    # each call to read cleans the trap
    is_deeply $trap->read, [];

This is a logger class for Dancer2 which captures all logs to an object.

Its primary purpose is for testing. Here is an example of a test:

    use strict;
    use warnings;
    use Test::More;
    use Plack::Test;
    use HTTP::Request::Common;
    use Ref::Util qw<is_coderef>;

    {
        package App;
        use Dancer2;

        set log       => 'debug';
        set logger    => 'capture';

        get '/' => sub {
            log(debug => 'this is my debug message');
            log(core  => 'this should not be logged');
            log(info  => 'this is my info message');
        };
    }

    my $app = Dancer2->psgi_app;
    ok( is_coderef($app), 'Got app' );

    test_psgi $app, sub {
        my $cb = shift;

        my $res = $cb->( GET '/' );

        my $trap = App->dancer_app->logger_engine->trapper;

        is_deeply $trap->read, [
            { level => 'debug', message => 'this is my debug message' },
            { level => 'info',  message => 'this is my info message' },
        ];

        is_deeply $trap->read, [];
    };

    done_testing;

Returns the Dancer2::Logger::Capture::Trap object used to capture and read logs.

Dancer2::Core::Role::Logger, Dancer2::Logger::Capture::Trap

Dancer Core Developers

This software is copyright (c) 2022 by Alexis Sukrieh.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2022-03-14 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.