use strict; use warnings; use Log::Log4perl; my $logging_level = 'DEBUG'; my $conf = q( log4perl.rootLogger = ).$logging_level.q(, logApp log4perl.appender.logApp = Log::Log4perl::Appender::File log4perl.appender.logApp.mode = append log4perl.appender.logApp.filename = 917173_test.log log4perl.appender.logApp.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.logApp.layout.ConversionPattern = %m %n ); Log::Log4perl->init( \$conf ); my $logger = Log::Log4perl->get_logger(); $logger->info("outer"); testPackage::foo(); $logger->info("outer"); package testPackage; use Log::Log4perl qw(get_logger); sub foo { my $logger = Log::Log4perl->get_logger(); # IF I PUT testLog IN THE QUOTES THEN I'M GETTING THE blah IN THE CALLERS LOGS FILE $logger->info("inner"); } 1;