Starting work on better logging using Log::Log4perl
authorChris Cormack <chrisc@catalyst.net.nz>
Wed, 5 Mar 2014 22:16:24 +0000 (11:16 +1300)
committerChris Cormack <chrisc@catalyst.net.nz>
Wed, 5 Mar 2014 22:16:24 +0000 (11:16 +1300)
lib/NCIP.pm
t/config_sample/log4perl.conf [new file with mode: 0644]

index bf23910..364f063 100644 (file)
@@ -6,6 +6,7 @@ use XML::LibXML;
 use Try::Tiny;
 use Module::Load;
 use Template;
 use Try::Tiny;
 use Module::Load;
 use Template;
+use Log::Log4perl;
 
 use Object::Tiny qw{xmldoc config namespace ils};
 
 
 use Object::Tiny qw{xmldoc config namespace ils};
 
@@ -33,7 +34,7 @@ sub new {
     my $config     = NCIP::Configuration->new($config_dir);
     $self->{config}    = $config;
     $self->{namespace} = $config->('NCIP.namespace.value');
     my $config     = NCIP::Configuration->new($config_dir);
     $self->{config}    = $config;
     $self->{namespace} = $config->('NCIP.namespace.value');
-
+    Log::Log4perl->init($config_dir . "/log4perl.conf");
     # load the ILS dependent module
     my $module = 'NCIP::ILS::' . $config->('NCIP.ils.value');
     load $module || die "Can not load ILS module $module";
     # load the ILS dependent module
     my $module = 'NCIP::ILS::' . $config->('NCIP.ils.value');
     load $module || die "Can not load ILS module $module";
@@ -80,9 +81,10 @@ sub handle_initiation {
     my $self = shift;
     my $xml  = shift;
     my $dom;
     my $self = shift;
     my $xml  = shift;
     my $dom;
+    my $log = Log::Log4perl->get_logger("NCIP");
     eval { $dom = XML::LibXML->load_xml( string => $xml ); };
     if ($@) {
     eval { $dom = XML::LibXML->load_xml( string => $xml ); };
     if ($@) {
-        warn "Invalid xml, caught error: $@";
+        $log->info("Invalid xml we can not parse it ");        
     }
     if ($dom) {
 
     }
     if ($dom) {
 
@@ -104,7 +106,7 @@ sub handle_initiation {
         }
     }
     else {
         }
     }
     else {
-        warn "We have no DOM";
+        $log->info("We have no DOM");
 
         return;
     }
 
         return;
     }
diff --git a/t/config_sample/log4perl.conf b/t/config_sample/log4perl.conf
new file mode 100644 (file)
index 0000000..4f844d6
--- /dev/null
@@ -0,0 +1,12 @@
+############################################################
+# A simple root logger with a Log::Log4perl::Appender::File 
+# file appender in Perl.
+############################################################
+log4perl.rootLogger=DEBUG, LOGFILE
+
+log4perl.appender.LOGFILE=Log::Log4perl::Appender::File
+log4perl.appender.LOGFILE.filename=/tmp/ncip.log
+log4perl.appender.LOGFILE.mode=append
+
+log4perl.appender.LOGFILE.layout=PatternLayout
+log4perl.appender.LOGFILE.layout.ConversionPattern=[%r] %F %L %c - %m%n