package MyFirst;
use strict; use warnings; use feature 'say';
use Log::Any qw/ $log /;
sub do_this {
say 'Hello from MyFirst';
$log->debug('This is a debug message');
}
1;
####
package MySecond;
use strict; use warnings; use feature 'say';
use Log::Any qw/ $log /;
sub do_that {
say 'Hello from MySecond';
$log->warn('This is a warning!');
}
1;
####
use strict; use warnings; use feature 'say';
use lib '.';
use MyFirst;
use MySecond;
use Log::Any::Adapter;
use Log::Any::Adapter::Dispatch;
my $logger = Log::Dispatch->new( outputs => [
[ 'Screen', min_level => 'warning' ],
[ 'File', min_level => 'debug', filename => 'logfile', newline => 1 ],
]);
Log::Any::Adapter->set(
{ category => qr/^My/ },
'Dispatch',
dispatcher => $logger,
);
MyFirst::do_this();
MySecond::do_that();
__END__
####
perl 1203778.pl
Hello from MyFirst
Hello from MySecond
This is a warning!
####
$ cat logfile
This is a debug message
This is a warning!