X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=lib%2FObject%2FRemote.pm;h=e28111742eacf4254a70ed78b3857ef39aab0aa4;hp=1d3edf984208ef0bb91b140e809b838216d2170a;hb=c2a695379d7eb1d6907feb002e3de0ea37c9536b;hpb=fbd3b8ecbd2c9004f0e56ff1c0bc30f677a19c62 diff --git a/lib/Object/Remote.pm b/lib/Object/Remote.pm index 1d3edf9..e281117 100644 --- a/lib/Object/Remote.pm +++ b/lib/Object/Remote.pm @@ -2,19 +2,22 @@ package Object::Remote; use Object::Remote::MiniLoop; use Object::Remote::Handle; +use Object::Remote::Logging qw( :log ); use Module::Runtime qw(use_module); -our $VERSION = '0.002001'; # 0.2.1 +our $VERSION = '0.002003'; # 0.2.3 sub new::on { my ($class, $on, @args) = @_; my $conn = __PACKAGE__->connect($on); + log_trace { sprintf("constructing instance of $class on connection for child pid of %i", $conn->child_pid) }; return $conn->remote_object(class => $class, args => \@args); } sub can::on { my ($class, $on, $name) = @_; my $conn = __PACKAGE__->connect($on); + log_trace { "Invoking remote \$class->can('$name')" }; return $conn->remote_sub(join('::', $class, $name)); } @@ -123,6 +126,41 @@ to block until an asynchronous call completes or fails. my $hostname = Sys::Hostname->can::on('myserver', 'hostname'); +=head1 ENVIRONMENT + +=over 4 + +=item OBJECT_REMOTE_PERL_BIN + +When starting a new Perl interpreter the contents of this environment +variable will be used as the path to the executable. If the variable +is not set the path is 'perl' + +=item OBJECT_REMOTE_LOG_LEVEL + +Setting this environment variable will enable logging and send all log messages +at the specfied level or higher to STDERR. Valid level names are: trace debug +verbose info warn error fatal + +=item OBJECT_REMOTE_LOG_FORMAT + +The format of the logging output is configurable. By setting this environment variable +the format can be controlled via printf style position variables. See +L. + +=item OBJECT_REMOTE_LOG_FORWARDING + +Forward log events from remote connections to the local Perl interpreter. Set to 1 to enable +this feature which is disabled by default. See L. + +=item OBJECT_REMOTE_LOG_SELECTIONS + +Space seperated list of class names to display logs for if logging output is enabled. Default +value is "Object::Remote::Logging" which selects all logs generated by Object::Remote. +See L. + +=back + =head1 SUPPORT IRC: #web-simple on irc.perl.org @@ -135,6 +173,8 @@ mst - Matt S. Trout (cpan:MSTROUT) phaylon - Robert Sedlacek (cpan:PHAYLON) +triddle - Tyler Riddle (cpan:TRIDDLE) + =head1 SPONSORS Parts of this code were paid for by