update logging api to match log-contextual 0.005
[scpubgit/Object-Remote.git] / lib / Object / Remote / Logging.pm
index 6e74019..1075016 100644 (file)
@@ -74,7 +74,7 @@ sub init_logging {
   my %controller_should_log;
   
   unless (defined $ENV{OBJECT_REMOTE_LOG_FORWARDING} && $ENV{OBJECT_REMOTE_LOG_FORWARDING} ne '') {
-    $ENV{OBJECT_REMOTE_LOG_FORWARDING} = 1;
+    $ENV{OBJECT_REMOTE_LOG_FORWARDING} = 0;
   }
   
   if ($test_logging) {
@@ -85,11 +85,6 @@ sub init_logging {
     ));
   }
 
-  return unless defined $level && $level ne '';
-  $format = "[%l %r] %s" unless defined $format;
-  $selections = __PACKAGE__ unless defined $selections;
-  %controller_should_log = _parse_selections($selections);
-
   {
     no warnings 'once';
     if (defined $Object::Remote::FatNode::REMOTE_NODE) {
@@ -99,6 +94,12 @@ sub init_logging {
     } 
   }
 
+  return unless defined $level && $level ne '';
+  
+  $format = "[%l %r] %s" unless defined $format;
+  $selections = __PACKAGE__ unless defined $selections;
+  %controller_should_log = _parse_selections($selections);
+
   my $logger = Object::Remote::Logging::Logger->new(
     min_level => lc($level), format => $format,
     level_names => Object::Remote::Logging::arg_levels(),
@@ -107,14 +108,15 @@ sub init_logging {
   router()->connect(sub { 
     my $controller = $_[1]->{controller};
     my $will_log = $controller_should_log{$controller};
+    my $remote_info = $_[1]->{object_remote};
     
     $will_log = $controller_should_log{'*'} unless defined $will_log;
     
     return unless $will_log;
     #skip things from remote hosts because they log to STDERR
     #when OBJECT_REMOTE_LOG_LEVEL is in effect
-    return if $_[1]->{remote}->{connection_id};
-    $logger
+    return if $remote_info->{forwarded};
+    return $logger;
   });
 }
 
@@ -205,8 +207,8 @@ remote interpreter and the logger for the message is invoked in the local interp
 Sub-classes of Object::Remote::Logging will have log messages forwarded automatically.
 Loggers receive forwarded log messages exactly the same way as non-forwarded messages
 except a forwarded message includes extra metadata about the remote interpreter. Log
-forwarding is enabled by default but comes with a performance hit; to disable it set the 
-OBJECT_REMOTE_LOG_FORWARDING environment variable to 0. See L<Object::Remote::Logging::Router>.
+forwarding is disabled by default because it comes with a performance hit; to enable
+it set the OBJECT_REMOTE_LOG_FORWARDING environment variable to 1.
 
 =head1 EXPORTABLE SUBROUTINES