|
Lines 72-78
sub new {
Link Here
|
| 72 |
$level, |
72 |
$level, |
| 73 |
sub { |
73 |
sub { |
| 74 |
my $message = $_[1]; |
74 |
my $message = $_[1]; |
| 75 |
push @{ $self->{$level} }, $message; |
75 |
my @caller_info = caller(2); |
|
|
76 |
push @{ $self->{$level} }, { message => $message, caller => \@caller_info }; |
| 76 |
return $message; |
77 |
return $message; |
| 77 |
} |
78 |
} |
| 78 |
); |
79 |
); |
|
Lines 81-86
sub new {
Link Here
|
| 81 |
return $self; |
82 |
return $self; |
| 82 |
} |
83 |
} |
| 83 |
|
84 |
|
|
|
85 |
=head3 diag |
| 86 |
|
| 87 |
$logger->diag(); |
| 88 |
|
| 89 |
Method to output all recieved logs. |
| 90 |
|
| 91 |
=cut |
| 92 |
|
| 93 |
sub diag { |
| 94 |
my ($self) = @_; |
| 95 |
my $tb = $CLASS->builder; |
| 96 |
|
| 97 |
foreach my $level (levels()) { |
| 98 |
$tb->diag("$level:"); |
| 99 |
if ( @{ $self->{$level} }) { |
| 100 |
foreach my $log_entry ( @{ $self->{$level} } ) { |
| 101 |
my ($package, $filename, $line) = @{$log_entry->{caller}}; |
| 102 |
$tb->diag( " \"" . $log_entry->{message} . "\" at $filename line $line"); |
| 103 |
} |
| 104 |
} else { |
| 105 |
$tb->diag(" (No $level messages)"); |
| 106 |
} |
| 107 |
} |
| 108 |
return; |
| 109 |
} |
| 110 |
|
| 84 |
=head3 debug_is |
111 |
=head3 debug_is |
| 85 |
|
112 |
|
| 86 |
$logger->debug_is($expected); |
113 |
$logger->debug_is($expected); |
|
Lines 287-294
sub generic_is {
Link Here
|
| 287 |
|
314 |
|
| 288 |
local $Test::Builder::Level = $Test::Builder::Level + 1; |
315 |
local $Test::Builder::Level = $Test::Builder::Level + 1; |
| 289 |
|
316 |
|
| 290 |
my $string = shift @{ $self->{$level} }; |
317 |
my $log = shift @{ $self->{$level} }; |
| 291 |
$string //= ''; |
318 |
my $string = defined($log) ? $log->{message} : ''; |
| 292 |
my $tb = $CLASS->builder; |
319 |
my $tb = $CLASS->builder; |
| 293 |
return $tb->is_eq( $string, $expect, $name); |
320 |
return $tb->is_eq( $string, $expect, $name); |
| 294 |
} |
321 |
} |
|
Lines 304-311
sub generic_like {
Link Here
|
| 304 |
|
331 |
|
| 305 |
local $Test::Builder::Level = $Test::Builder::Level + 1; |
332 |
local $Test::Builder::Level = $Test::Builder::Level + 1; |
| 306 |
|
333 |
|
| 307 |
my $string = shift @{ $self->{$level} }; |
334 |
my $log = shift @{ $self->{$level} }; |
| 308 |
$string //= ''; |
335 |
my $string = defined($log) ? $log->{message} : ''; |
| 309 |
my $tb = $CLASS->builder; |
336 |
my $tb = $CLASS->builder; |
| 310 |
return $tb->like( $string, $expect, $name); |
337 |
return $tb->like( $string, $expect, $name); |
| 311 |
} |
338 |
} |
| 312 |
- |
|
|