aboutsummaryrefslogtreecommitdiff
path: root/lib/TgLib/Logger.pm
blob: c80d22b5c513a92d4e7b15826d31873aded86e62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package TgLib::Logger;

use strict;
use warnings;

use parent qw<Exporter>;
our @EXPORT = qw<new debug info warn>;

my %level = (warn => 0, info => 1, debug => 2);

sub log_level {
    my ($self, $msg, $level) = @_;
    print STDERR "[$level] $msg" if $level{$level} <= $self->{'level'};
}

################################################################################
# Public

sub new {
    my ($class, $verbose) = @_;
    return bless { level => $verbose }, $class;
}

sub debug { log_level(@_, 'debug'); }
sub info { log_level(@_, 'info'); }
sub warn { log_level(@_, 'warn'); }

1;