# # Test for dispatcher behavior # use strict; use Test::Simple tests => 4; use Log::Channel; use Log::Dispatch::File; my $log = new Log::Channel "main"; sub msg { $log->(@_) } decorate Log::Channel "main", "%t %d: %m\n"; ###################################################################### close STDERR; my $stderrfile = "/tmp/logchan$$.stderr"; open STDERR, ">$stderrfile" or die; ###################################################################### enable Log::Channel "main"; msg "message 1"; msg "message 2"; msg "message 3"; ###################################################################### # Now check the log files close STDERR; open (LINES, "<$stderrfile") or die $!; my @lines = ; close LINES; ok ((scalar grep { /message 1/ } @lines) == 1); ok ((scalar grep { /message 2/ } @lines) == 1); ok ((scalar grep { /message 3/ } @lines) == 1); ok ((scalar grep { /main / } @lines) == 3); ###################################################################### # Clean up unlink $stderrfile;