X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=lib%2FObject%2FRemote%2FRole%2FLogForwarder.pm;h=5c2aecd8a4888fdac6a9069b8aebaf45d65a83b1;hp=4bf2ecc203b54738f2423308350d71eb44506cc2;hb=a663aea54e2f4167d60dad19083cc7a078cfd04b;hpb=08435f11e57bbd6e01f4e52382f58b22f71358ad diff --git a/lib/Object/Remote/Role/LogForwarder.pm b/lib/Object/Remote/Role/LogForwarder.pm index 4bf2ecc..5c2aecd 100644 --- a/lib/Object/Remote/Role/LogForwarder.pm +++ b/lib/Object/Remote/Role/LogForwarder.pm @@ -9,17 +9,17 @@ has _forward_destination => ( is => 'rw' ); has _forward_stop => ( is => 'ro', required => 1, default => sub { {} } ); after _deliver_message => sub { - my ($self, $level, $generator, $args, $metadata) = @_; - my $package = $metadata->{package}; +# my ($self, $level, $generator, $args, $metadata) = @_; + my ($self, %message_info) = @_; + my $package = $message_info{caller_package}; my $destination = $self->_forward_destination; - my %metadata = %$metadata; our $reentrant; - if (defined $metadata->{object_remote}) { - $metadata{object_remote} = { %{$metadata->{object_remote}} }; + if (defined $message_info{object_remote}) { + $message_info{object_remote} = { %{$message_info{object_remote}} }; } - $metadata{object_remote}->{forwarded} = 1; + $message_info{object_remote}->{forwarded} = 1; return unless $self->enable_forward; return unless defined $destination; @@ -32,7 +32,7 @@ after _deliver_message => sub { local $reentrant = $package; - eval { $destination->_deliver_message($level, $generator, $args, \%metadata) }; + eval { $destination->_deliver_message(%message_info) }; if ($@ && $@ !~ /^Attempt to use Object::Remote::Proxy backed by an invalid handle/) { die $@;