X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FObject%2FRemote%2FLogging%2FRouter.pm;fp=lib%2FObject%2FRemote%2FLogging%2FRouter.pm;h=ee403775d4b7b69446db80702b39628974003be4;hb=b43174a123aae89a1d3666ffd4d7b9d11ad4846c;hp=ffc51b963d7c7a5219c02175b843cd88c36adcd5;hpb=0fe333eb337345ecc842a14bf738b5db837936b0;p=scpubgit%2FObject-Remote.git diff --git a/lib/Object/Remote/Logging/Router.pm b/lib/Object/Remote/Logging/Router.pm index ffc51b9..ee40377 100644 --- a/lib/Object/Remote/Logging/Router.pm +++ b/lib/Object/Remote/Logging/Router.pm @@ -1,6 +1,7 @@ package Object::Remote::Logging::Router; use Moo; +use Scalar::Util qw(weaken); with 'Log::Contextual::Role::Router'; with 'Object::Remote::Role::LogForwarder'; @@ -65,7 +66,7 @@ sub handle_log_request { @caller_info = caller($caller_level + 1); $metadata{method} = $caller_info[3]; - $metadata{method} =~ s/^${package}:://; + $metadata{method} =~ s/^${package}::// if defined $metadata{method}; foreach my $logger ($self->_get_loggers(%metadata)) { $logger->$level([ $generator->(@args) ], \%metadata); @@ -83,6 +84,7 @@ sub connect { } push(@{$self->_connections}, $wrapped); + weaken($self->_connections->[-1]); } sub _clean_connections {