Class-Easy
view release on metacpan or search on metacpan
t/002-log.t view on Meta::CPAN
# warn join ', ', @{$l->{_layout_fields}};
ok join (', ', @{$l->{_layout_fields}}) eq 'pid, package, method, line, category, message, newline';
ok logger()->{category} eq 'main', 'logger() has category of caller package';
ok logger('sql')->{category} eq 'sql', 'logger(category) has supplied category';
SKIP: {
eval {require Log::Log4perl};
skip "Log::Log4perl not installed", 2 if $@;
ok logger('log4perl')->{category} eq 'main', 'logger(driver) has category of caller package';
ok logger(log4perl => 'sql')->{category} eq 'sql', 'logger(driver, category) has supplied category';
};
my $logger = logger ('test');
# ok main->can ('log_test');
ok log_test ($rstr), 'logger created function in caller package';
ok ! defined $str, 'but no appenders plugged in';
ok $logger->appender (\$str), 'append logs to content of accumulator string';
ok log_test ($rstr);
ok $str =~ /\Q$rstr\E/, 'accumulator string contains log message';
ok $logger->appender (), 'cancel logging';
ok log_test ('aaa');
ok $str !~ /aaa/;
ok $logger->appender (\$str);
ok log_test ('bbb');
ok $str =~ /bbb/;
ok $logger->appender ();
my $str2;
my $err = catch_stderr (\$str2);
ok $logger->appender (*STDERR), 'write logs to the STDERR';
ok log_test ($rstr);
ok $str2 =~ /\Q$rstr\E/, 'STDERR contains log message';
ok $logger->appender (), 'cancel logging';
ok log_test ('aaa');
ok $str2 !~ /aaa/;
ok $logger->appender (*STDERR);
logger ('test');
ok logger (test => *STDERR), 'simplified syntax';
ok log_test ('bbb');
ok $str2 =~ /bbb/;
$str2 = '';
# timer test
my $t = timer_test ('xxx');
sleep (1);
my $interval = $t->end;
ok $interval > 0;
warn "your system have bad timer: 1s = ${interval}s"
if $interval < 1;
ok $str2 =~ /xxx/;
ok $t = timer ('zzz'), 'default timer belongs to debug category';
sleep (1);
ok ! $t->end;
ok $logger->appender ();
release_stderr;
# TODO: test coderef
eval {critical 'msg'};
ok $@ =~ /msg/, $@;
# checking for debug
$str2 = '';
$err = catch_stderr (\$str2);
$logger = logger (default => *STDERR);
debug ("hello");
ok ($str2 =~ /hello/);
1;
( run in 1.805 second using v1.01-cache-2.11-cpan-483215c6ad5 )