Try defining two different log files:
##test_log.pl
#!/usr/bin/perl
use strict;
use warnings;
use Log::Log4perl;
use File::Basename;
Log::Log4perl::init_once("$ENV{CONF_PATH}" . "/log4perl.conf" );
sub get_log{
use POSIX qw(strftime);
my $now_string = strftime("%Y-%m-%d", localtime);
my $log = sprintf "%s.$now_string.info.log", basename( $0 );
return "$ENV{LOG_PATH}" . '/'. $log;
}
use Loader;
Loader::load_script1();
Loader::load_script2();
__END__;
##Loader.pm
package Loader;
use strict;
use warnings;
sub load_script1 {
my ($log) = Log::Log4perl::get_logger("SCRIPT1");
$log->info("inside script1 method");
}
sub load_script2 {
my ($log) = Log::Log4perl::get_logger("SCRIPT2");
$log->info("inside script2 method");
}
1;
##log4perl.conf
[log4perl]
log4perl.logger=INFO,Screen
log4perl.appender.Logfile1 = Log::Log4perl::Appender::File
log4perl.appender.Logfile1.filename = sub { return "log1"; }
log4perl.appender.Logfile1.mode = append
log4perl.appender.Logfile1.additivity =0
log4perl.appender.Logfile1.layout = Log::Log4perl::Layout::PatternLayo
+ut
log4perl.appender.Logfile1.layout.ConversionPattern = %d %p> %m%n
log4perl.appender.Logfile2 = Log::Log4perl::Appender::File
log4perl.appender.Logfile2.filename = sub { return "log2"; }
log4perl.appender.Logfile2.mode = append
log4perl.appender.Logfile2.additivity =0
log4perl.appender.Logfile2.layout = Log::Log4perl::Layout::PatternLayo
+ut
log4perl.appender.Logfile2.layout.ConversionPattern = %d %p> %m%n
[Modules level setup]
log4perl.logger.main = INFO
log4perl.logger.script = INFO
log4perl.logger.SCRIPT1= INFO,Logfile1
log4perl.logger.SCRIPT2= INFO,Logfile2
log4perl.appender.Screen = Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr = 0
log4perl.appender.Screen.layout = Log::Log4perl::Layout::SimpleLayout