X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=lib%2FObject%2FRemote%2FLogging%2FRouter.pm;h=ffc51b963d7c7a5219c02175b843cd88c36adcd5;hp=14b97add48fb1abbc124098987d7a783faef8890;hb=0fe333eb337345ecc842a14bf738b5db837936b0;hpb=f4a8508058f7bad5052775a8df3e683527c73333 diff --git a/lib/Object/Remote/Logging/Router.pm b/lib/Object/Remote/Logging/Router.pm index 14b97ad..ffc51b9 100644 --- a/lib/Object/Remote/Logging/Router.pm +++ b/lib/Object/Remote/Logging/Router.pm @@ -55,9 +55,18 @@ sub handle_log_request { #caller_level is useless when log forwarding is in place #so we won't tempt people with using it for now - access #to caller level will be available in the future - delete $metadata{caller_level}; + my $caller_level = delete $metadata{caller_level}; $metadata{object_remote} = $self->_remote_metadata; $metadata{timestamp} = time; + + my @caller_info = caller($caller_level); + $metadata{filename} = $caller_info[1]; + $metadata{line} = $caller_info[2]; + + @caller_info = caller($caller_level + 1); + $metadata{method} = $caller_info[3]; + $metadata{method} =~ s/^${package}:://; + foreach my $logger ($self->_get_loggers(%metadata)) { $logger->$level([ $generator->(@args) ], \%metadata); }