Hi,
The code works but the issue is even after I add appender file in my module.pm , it is logging only once until it is returned from the subrouting in the module. After that , whatever logging I put, it is appended to only the file , which I appended in script . Below is the code :
test.pl
-------
use warnings;
use strict;
use Log::Log4perl qw(:easy);
use TestModule;
my $log_file = "GIVE SOME PATH";
my %key_value_pairs = (
"log4perl.rootLogger" => "DEBUG, Logfile,TestModule,Screen",
"log4perl.appender.Logfile" => "Log::Log4perl::Appender::File",
"log4perl.appender.Logfile.mode" => "clobber",
"log4perl.appender.Logfile.filename" => "$log_file",
"log4perl.appender.Logfile.layout"=> "Log::Log4perl::Layout::Patte
+rnLayout",
"log4perl.appender.Logfile.layout.ConversionPattern" => "%d %p %C:
+%L> %m%n",
"log4perl.appender.TestModule" => "Log::Log4perl::Appender::Fi
+le",
"log4perl.appender.TestModule.mode" => "clobber",
"log4perl.appender.TestModule.filename" => "$log_file",
"log4perl.appender.TestModule.layout"=> "Log::Log4perl::Layout
+::PatternLayout",
"log4perl.appender.TestModule.layout.ConversionPattern" => "%d %p
+%C:%L> %m%n",
"log4perl.appender.Screen" => "Log::Log4perl::Appender::Screen",
"log4perl.appender.Screen.layout" => "Log::Log4perl::Layout::Patte
+rnLayout",
"log4perl.appender.Screen.layout.ConversionPattern" => "%d %p %C:
+%L> %m%n",
);
Log::Log4perl::init(\%key_value_pairs);
my $testmodule = TestModule->new(
"key" => "value",
);
INFO "Creating object for testmodule";
$testmodule->_printTime();
module.pm
---------
package TestModule;
use Log::Log4perl qw(:easy);
use strict;
use warnings;
sub new {
my ($this,%params) = @_;
my $args = {
"arg1" => "5",
"arg2" => "6",
%params,
};
bless($args,$this);
my $log_file = "somepath";
my $new_log_file = "GIVE SOME PATH";
my $file_appender = Log::Log4perl::Appender->new(
"Log::Log4perl::Appender::File",
name => "TestModule",
filename => "$new_log_file");
INFO "New object created";
return $args;
}
sub _printTime {
my $time = localtime;
INFO "$time";
}
1;
Actually , I need both the files to be updated once a new appender is added.
|