Akamai-Open-Client
view release on metacpan or search on metacpan
lib/Akamai/Open/Debug.pm view on Meta::CPAN
package Akamai::Open::Debug;
BEGIN {
$Akamai::Open::Debug::AUTHORITY = 'cpan:PROBST';
}
# ABSTRACT: Debugging interface for the Akamai Open API Perl clients
$Akamai::Open::Debug::VERSION = '0.03';
use strict;
use warnings;
use MooseX::Singleton;
use Data::Dumper qw/Dumper/;
use Log::Log4perl;
our $default_conf = q/
log4perl.category.Akamai.Open.Debug = ERROR, Screen
log4perl.appender.Screen = Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr = 1
log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.Screen.layout.ConversionPattern = %p - %C - %m%n
/;
has 'config' => (is => 'rw');
has 'logger' => (is => 'rw', default => sub{return(Log::Log4perl::get_logger('Akamai::Open::Debug'));});
# is called after Moose has builded the object
sub BUILD {
my $self = shift;
$self->config($default_conf) unless($self->config);
Log::Log4perl::init_once(\$self->config);
return;
}
sub dump_obj {
my $self = shift;
my $ref = shift;
$self->logger->info('Dumping object: ', Dumper($ref));
return;
}
sub debugger {
my $self = shift;
my $new = shift;
my $prev = shift;
my $sub = (caller(1))[3];
$self->debug->logger->debug(sprintf('setting %s to %s (%s before)', $sub, $new, $prev ? $prev : 'undef'));
return;
}
1;
__END__
=pod
=encoding utf-8
=head1 NAME
Akamai::Open::Debug - Debugging interface for the Akamai Open API Perl clients
=head1 VERSION
version 0.03
=head1 SYNOPSIS
use Akamai::Open::Debug;
use Akamai::Open::Client;
my $log_conf = q/
log4perl.category.Akamai.Open.Debug = DEBUG, Screen
( run in 1.913 second using v1.01-cache-2.11-cpan-39bf76dae61 )