use strict; use warnings; use FindBin; use lib "$FindBin::Bin/../lib"; use Log::Log4perl qw(get_logger); # Initialize logging behaviour BEGIN { my $conf = q( log4perl.logger = DEBUG, FileApp log4perl.appender.FileApp = Log::Log4perl::Appender::File log4perl.appender.FileApp.filename = test.log log4perl.appender.FileApp.layout = PatternLayout ); Log::Log4perl->init( \$conf ); $SIG{__WARN__} = sub { my $logger = get_logger(); local $Log::Log4perl::caller_depth = $Log::Log4perl::caller_depth + 1; $logger->warn("WARN @_"); }; } my $logger = get_logger(); $logger->error("Oh my, an error!"); my $foo = 100; my $foo = 44; my $bar = 0; 1/0; #### $SIG{__DIE__} = sub { my $logger = get_logger(); local $Log::Log4perl::caller_depth = $Log::Log4perl::caller_depth + 1; $logger->fatal("DIE @_"); };