log4perl.rootLogger=INFO,LOGFILE log4perl.appender.LOGFILE=Log::Log4perl::Appender::File log4perl.appender.LOGFILE.filename=/var/log/myerrs.log log4perl.appender.LOGFILE.mode=append log4perl.appender.LOGFILE.layout=PatternLayout log4perl.appender.LOGFILE.layout.ConversionPattern=%d [%l] %p %c - %m%n log4perl.Logger.newpingdata=INFO,LOG log4perl.appender.LOG=Log::Log4perl::Appender::File log4perl.appender.LOG.filename=/var/log/errs.log log4perl.appender.LOG.mode=append log4perl.appender.LOG.layout=PatternLayout log4perl.appender.LOG.layout.ConversionPattern=%d [%l] %p %c - %m%n # tried this above to dynamicaaly generate filename log4perl.appender.LOG.filename = sub { my @curr=`date`;my($day,$month,$date,$time,$std,$year) = split (/\s+/,$curr[0]);chomp $month; return "/var/log/myerrs.$month.log"} I use this for logging my $log -> Log::Log4perl->get_logger(); $log->warn("hi"); my $log -> Log::Log4perl->get_logger("newpingdata"); $log->info("down"); but both hi and down get logged in the same file (/var/log/myerrs.log)????