1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#<<<
use strict; use warnings;
#>>>
use Test::More import => [ qw( BAIL_OUT is_deeply use_ok ) ], tests => 3;
use HTTP::Request::Common qw( GET );
use Log::Any::Test qw();
use Log::Any qw( $logger ); # Log::Any global log buffer category is "main"
use Plack::Test qw();
my $middleware;
BEGIN {
$middleware = 'Plack::Middleware::LogAny';
use_ok( $middleware ) or BAIL_OUT "Cannot load middleware '$middleware'!";
}
my $category;
my $messages;
my $app = sub {
my ( $env ) = @_;
map { $env->{ 'psgix.logger' }->( $_ ) } @{ $messages };
return [ 200, [], [] ];
};
$category = '';
$messages = [
{ category => $category, level => 'trace', message => 'this is a trace message' },
{ category => $category, level => 'debug', message => 'this is a debug message' }
];
Plack::Test->create( $middleware->wrap( $app ) )->request( GET '/' );
is_deeply $logger->msgs, $messages, 'check Log::Any global log buffer (root logger based logging)';
$logger->clear;
$category = 'plack.test';
$messages = [
{ category => $category, level => 'info', message => 'this is an info message' },
{ category => $category, level => 'warning', message => 'this is a warning message' }
];
Plack::Test->create( $middleware->wrap( $app, category => $category ) )->request( GET '/' );
is_deeply $logger->msgs, $messages, 'check Log::Any global log buffer';
|