Binance-API
view release on metacpan or search on metacpan
lib/Binance/API/Logger.pm view on Meta::CPAN
Provides a wrapper for your desired logger. Carps log calls higher than "debug"
level
=head1 SYNOPSIS
use Binance::API;
my $logger = Binance::API::Logger->new($log4perl);
$logger->warn("This is a warning");
=head1 METHODS
=cut
=head2 new
my $logger = Binance::API::Logger->new($log4perl);
Instantiates a new C<Binance::API::Logger> object.
B<PARAMETERS>
=over
=item A logger object that implements (at least) debug, warn,
error, fatal level logging.
[OPTIONAL]
=back
B<RETURNS>
A C<Binance::API::Logger> object.
=cut
sub new {
my $class = shift;
my $self = {
logger => undef,
};
$self->{logger} = shift if @_;
bless $self, $class;
}
sub AUTOLOAD {
my $self = shift;
my $level = our $AUTOLOAD;
$level =~ s/.*://;
return if $level eq 'DESTROY';
my $message = shift || "";
my $sub = (caller(1))[3];
my $full_message = "[$sub] ". $message;
if ($level eq 'debug' || $level eq 'trace') {
carp $full_message if DEBUG;
} else {
carp $full_message;
}
if ($self->{logger} && $self->{logger}->can($level)) {
$self->{logger}->$level($full_message);
}
}
1;
( run in 1.762 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )