X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FObject%2FRemote%2FLogging%2FLogAnyInjector.pm;h=b209d3865aab4383b5560894781a3f99e5317b56;hb=4cef6a48c7132caae25207eed7a2105204ef6e61;hp=70c538447cebddb48e8b9f6b7aeb5a89b93e8593;hpb=293fb1ee44fb32ff692278802149f42a5e391197;p=scpubgit%2FObject-Remote.git diff --git a/lib/Object/Remote/Logging/LogAnyInjector.pm b/lib/Object/Remote/Logging/LogAnyInjector.pm index 70c5384..b209d38 100644 --- a/lib/Object/Remote/Logging/LogAnyInjector.pm +++ b/lib/Object/Remote/Logging/LogAnyInjector.pm @@ -1,5 +1,8 @@ package Object::Remote::Logging::LogAnyInjector; +#Experimental object that can be used to receive Log::Any +#generated log messages and inject them into the log router + use Moo; use Object::Remote::Logging qw( router ); use Carp qw(croak); @@ -21,13 +24,13 @@ sub AUTOLOAD { my $generator; my $log_contextual_level; our %LEVEL_NAME_MAP; - + #just a proof of concept - support for the is_ methods can #be done but requires modifications to the router return 1 if $log_level =~ m/^is_/; #skip DESTROY and friends return if $log_level =~ m/^[A-Z]+$/; - + if ($log_contextual_level = $LEVEL_NAME_MAP{$log_level}) { $generator = sub { @content }; } elsif(($log_level =~ s/f$//) && ($log_contextual_level = $LEVEL_NAME_MAP{$log_level})) { @@ -36,14 +39,14 @@ sub AUTOLOAD { } else { croak "invalid log level: $log_level"; } - + router->handle_log_request({ - controller => 'Log::Any', + controller => 'Log::Any', package => scalar(caller), caller_level => 1, level => $log_contextual_level, }, $generator); - + return; }