X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FLog%2FContextual.pm;h=3b6e4eaf8a9185afe66b3ea8c1bf5a6f1f415323;hb=ae9785e227eefc73de652ed668e8f1249f6ac080;hp=7520290e7a05a9914a6ab2a5a534cf8ff36b7746;hpb=6d77ba42ceb20cab06c3b5d47de0d739403bb939;p=p5sagit%2FLog-Contextual.git diff --git a/lib/Log/Contextual.pm b/lib/Log/Contextual.pm index 7520290..3b6e4ea 100644 --- a/lib/Log/Contextual.pm +++ b/lib/Log/Contextual.pm @@ -5,29 +5,17 @@ use warnings; our $VERSION = '0.00304'; +my @levels = qw(debug trace warn info error fatal); + require Exporter; use Data::Dumper::Concise; use Scalar::Util 'blessed'; BEGIN { our @ISA = qw(Exporter) } -my @dlog = (qw( - Dlog_debug DlogS_debug - Dlog_trace DlogS_trace - Dlog_warn DlogS_warn - Dlog_info DlogS_info - Dlog_error DlogS_error - Dlog_fatal DlogS_fatal - )); - -my @log = (qw( - log_debug logS_debug - log_trace logS_trace - log_warn logS_warn - log_info logS_info - log_error logS_error - log_fatal logS_fatal - )); +my @dlog = ((map "Dlog_$_", @levels), (map "DlogS_$_", @levels)); + +my @log = ((map "log_$_", @levels), (map "logS_$_", @levels)); eval { require Log::Log4perl; @@ -147,86 +135,27 @@ sub _do_logS { $value } -sub log_trace (&@) { _do_log( trace => _get_logger( caller ), shift @_, @_) } -sub log_debug (&@) { _do_log( debug => _get_logger( caller ), shift @_, @_) } -sub log_info (&@) { _do_log( info => _get_logger( caller ), shift @_, @_) } -sub log_warn (&@) { _do_log( warn => _get_logger( caller ), shift @_, @_) } -sub log_error (&@) { _do_log( error => _get_logger( caller ), shift @_, @_) } -sub log_fatal (&@) { _do_log( fatal => _get_logger( caller ), shift @_, @_) } - -sub logS_trace (&$) { _do_logS( trace => _get_logger( caller ), $_[0], $_[1]) } -sub logS_debug (&$) { _do_logS( debug => _get_logger( caller ), $_[0], $_[1]) } -sub logS_info (&$) { _do_logS( info => _get_logger( caller ), $_[0], $_[1]) } -sub logS_warn (&$) { _do_logS( warn => _get_logger( caller ), $_[0], $_[1]) } -sub logS_error (&$) { _do_logS( error => _get_logger( caller ), $_[0], $_[1]) } -sub logS_fatal (&$) { _do_logS( fatal => _get_logger( caller ), $_[0], $_[1]) } - - -sub Dlog_trace (&@) { - my $code = shift; - local $_ = (@_?Data::Dumper::Concise::Dumper @_:'()'); - return _do_log( trace => _get_logger( caller ), $code, @_ ); -} - -sub Dlog_debug (&@) { - my $code = shift; - local $_ = (@_?Data::Dumper::Concise::Dumper @_:'()'); - return _do_log( debug => _get_logger( caller ), $code, @_ ); -} +for my $level (@levels) { + no strict 'refs'; -sub Dlog_info (&@) { - my $code = shift; - local $_ = (@_?Data::Dumper::Concise::Dumper @_:'()'); - return _do_log( info => _get_logger( caller ), $code, @_ ); -} + *{"log_$level"} = sub (&@) { + _do_log( $level => _get_logger( caller ), shift @_, @_) + }; -sub Dlog_warn (&@) { - my $code = shift; - local $_ = (@_?Data::Dumper::Concise::Dumper @_:'()'); - return _do_log( warn => _get_logger( caller ), $code, @_ ); -} - -sub Dlog_error (&@) { - my $code = shift; - local $_ = (@_?Data::Dumper::Concise::Dumper @_:'()'); - return _do_log( error => _get_logger( caller ), $code, @_ ); -} - -sub Dlog_fatal (&@) { - my $code = shift; - local $_ = (@_?Data::Dumper::Concise::Dumper @_:'()'); - return _do_log( fatal => _get_logger( caller ), $code, @_ ); -} + *{"logS_$level"} = sub (&$) { + _do_logS( $level => _get_logger( caller ), $_[0], $_[1]) + }; + *{"Dlog_$level"} = sub (&@) { + my $code = shift; + local $_ = (@_?Data::Dumper::Concise::Dumper @_:'()'); + return _do_log( $level => _get_logger( caller ), $code, @_ ); + }; -sub DlogS_trace (&$) { - local $_ = Data::Dumper::Concise::Dumper $_[1]; - _do_logS( trace => _get_logger( caller ), $_[0], $_[1] ) -} - -sub DlogS_debug (&$) { - local $_ = Data::Dumper::Concise::Dumper $_[1]; - _do_logS( debug => _get_logger( caller ), $_[0], $_[1] ) -} - -sub DlogS_info (&$) { - local $_ = Data::Dumper::Concise::Dumper $_[1]; - _do_logS( info => _get_logger( caller ), $_[0], $_[1] ) -} - -sub DlogS_warn (&$) { - local $_ = Data::Dumper::Concise::Dumper $_[1]; - _do_logS( warn => _get_logger( caller ), $_[0], $_[1] ) -} - -sub DlogS_error (&$) { - local $_ = Data::Dumper::Concise::Dumper $_[1]; - _do_logS( error => _get_logger( caller ), $_[0], $_[1] ) -} - -sub DlogS_fatal (&$) { - local $_ = Data::Dumper::Concise::Dumper $_[1]; - _do_logS( fatal => _get_logger( caller ), $_[0], $_[1] ) + *{"DlogS_$level"} = sub (&$) { + local $_ = Data::Dumper::Concise::Dumper $_[1]; + _do_logS( $level => _get_logger( caller ), $_[0], $_[1] ) + }; } 1;