add pid and hostname to logging metadata; setting OBJECT_REMOTE_LOG_FORWARDING env...
[scpubgit/Object-Remote.git] / lib / Object / Remote / Logging / Logger.pm
index 16b278d..e440d57 100644 (file)
@@ -59,12 +59,17 @@ sub _log {
 
 sub _create_format_lookup {
   my ($self, $level, $metadata, $content) = @_;
+  my $method = $metadata->{method};
+  
+  $method = '(none)' unless defined $method;
+  
   return { 
     '%' => '%', t => $self->_render_time($metadata->{timestamp}),
     r => $self->_render_remote($metadata->{object_remote}),
     s => $self->_render_log(@$content), l => $level, 
-    p => $metadata->{package}, m => $metadata->{method},
-    f => $metadata->{filename}, i => $metadata->{line},
+    c => $metadata->{controller}, p => $metadata->{package}, m => $method,
+    f => $metadata->{filename}, i => $metadata->{line}, 
+    h => $metadata->{hostname}, P => $metadata->{pid},
     
   };
 }
@@ -73,7 +78,7 @@ sub _get_format_var_value {
   my ($self, $name, $data) = @_;
   my $val = $data->{$name};
   return $val if defined $val;
-  return '';
+  return '(undefined)';
 }
 
 sub _render_time {
@@ -96,7 +101,7 @@ sub _render {
   my $var_table = $self->_create_format_lookup($level, $metadata, [@content]);
   my $template = $self->format;
   
-  $template =~ s/%([\w])/$self->_get_format_var_value($1, $var_table)/ge;
+  $template =~ s/%([\w%])/$self->_get_format_var_value($1, $var_table)/ge;
   
   chomp($template);
   $template =~ s/\n/\n /g;