export router function in ::Logging; add time of log event to metadata and render...
[scpubgit/Object-Remote.git] / lib / Object / Remote / Logging / Logger.pm
index a073a47..e9dc278 100644 (file)
@@ -51,7 +51,6 @@ sub _install_methods {
 
 sub _log {
   my ($self, $level, $content, $metadata_in) = @_;
-  #TODO this stinks but is backwards compatible with the original logger api
   my %metadata = %$metadata_in;
   my $rendered = $self->_render($level, \%metadata, @$content);
   $self->_output($rendered);
@@ -59,17 +58,27 @@ sub _log {
 
 sub _render {
   my ($self, $level, $metadata, @content) = @_;
-  my $rendered = "[$level] ";
   my $remote_info = $metadata->{object_remote};
+  my $when = $metadata->{timestamp};
+  my $rendered;
 
+  if (defined($when)) {
+    $when = localtime($when);
+  } else {
+      $when = 'no time data';
+  }
+  
   if ($remote_info) {
-    $rendered .= "[connection #$remote_info->{connection_id}] ";
+    $rendered .= "[$level connection #$remote_info->{connection_id}] [$when] ";
   } else {
-    $rendered .= "[local] ";
+    $rendered .= "[$level local] [$when] ";
   }
+  
     
   $rendered .= join('', @content);
-  $rendered .= "\n" unless substr($rendered, -1) eq "\n";
+  chomp($rendered);
+  $rendered =~ s/\n/\n /g;
+  $rendered .= "\n";
   return $rendered;
 }