set defaults for min and max levels in various loggers
[scpubgit/Object-Remote.git] / lib / Object / Remote / Logging / Logger.pm
index 83e3a0e..888d998 100644 (file)
@@ -6,7 +6,7 @@ use Scalar::Util qw(weaken);
 has format => ( is => 'ro', required => 1, default => sub { '%l: %s' } );
 has level_names => ( is => 'ro', required => 1 );
 has min_level => ( is => 'ro', required => 1 );
-has max_level => ( is => 'ro' );
+has max_level => ( is => 'ro', required => 1, deafult => sub { 'info' } );
 has _level_active => ( is => 'lazy' );
 
 sub BUILD {
@@ -67,8 +67,9 @@ sub _create_format_lookup {
     '%' => '%', t => $self->_render_time($metadata->{timestamp}),
     r => $self->_render_remote($metadata->{object_remote}),
     s => $self->_render_log(@$content), l => $level, 
-    p => $metadata->{package}, m => $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},
     
   };
 }
@@ -77,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 {
@@ -100,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;