better lookup method in log any injector; %n adds newline in log format string
Tyler Riddle [Sat, 10 Nov 2012 17:12:36 +0000 (09:12 -0800)]
lib/Object/Remote/FatNode.pm
lib/Object/Remote/Logging.pm
lib/Object/Remote/Logging/LogAnyInjector.pm
lib/Object/Remote/Logging/Logger.pm

index 77e6928..41ad696 100644 (file)
@@ -61,7 +61,9 @@ my @file_names = keys %mods;
 my @before_inc = grep { filter_not_core() } @file_names;
 my @after_inc;
 
-#TODO obviously this should be made into a method or configurable some how
+#TODO this is the wrong path to go down - fork() will bring
+#the env vars with it and the ssh connector can handle
+#forwarding the env vars
 my $env_pass = '';
 if (defined($ENV{OBJECT_REMOTE_LOG_LEVEL})) {
   my $level = $ENV{OBJECT_REMOTE_LOG_LEVEL};
index 5901b0c..1c45b45 100644 (file)
@@ -281,8 +281,8 @@ value will default to 1 or can be specified as an argument.
 
 =head1 LEVEL NAMES
 
-Object::Remote uses an ordered list of log level names with the minimum level
-first and the maximum level last. The list of level names can be accessed via
+Object::Remote uses an ordered list of log level names with the lowest level
+first and the highest level last. The list of level names can be accessed via
 the arg_levels method which is exportable to the consumer of this class. The log
 level names are:
 
index 77d75b7..70c5384 100644 (file)
@@ -28,16 +28,15 @@ sub AUTOLOAD {
   #skip DESTROY and friends
   return if $log_level =~ m/^[A-Z]+$/;
   
-  if ($log_level =~ s/f$//) {
-      my $format = shift(@content);
-      $generator = sub { sprintf($format, @content) };
+  if ($log_contextual_level = $LEVEL_NAME_MAP{$log_level}) {
+    $generator = sub { @content };
+  } elsif(($log_level =~ s/f$//) && ($log_contextual_level = $LEVEL_NAME_MAP{$log_level})) {
+    my $format = shift(@content);
+    $generator = sub { sprintf($format, @content) };
   } else {
-      $generator = sub { @content };
+   croak "invalid log level: $log_level";
   }
-  
-  $log_contextual_level = $LEVEL_NAME_MAP{$log_level};
-  croak "invalid log level name: $log_level" unless defined $log_contextual_level;
-  
+    
   router->handle_log_request({
     controller => 'Log::Any', 
     package => scalar(caller),
index 65b42b9..e53dbf3 100644 (file)
@@ -88,7 +88,8 @@ sub _create_format_lookup {
   $method = '(none)' unless defined $method;
   
   return { 
-    '%' => '%', t => $self->_render_time($metadata->{timestamp}),
+    '%' => '%', 'n' => "\n",
+    t => $self->_render_time($metadata->{timestamp}),
     r => $self->_render_remote($metadata->{object_remote}),
     s => $self->_render_log(@$content), l => $level, 
     c => $metadata->{controller}, p => $metadata->{package}, m => $method,