aboutsummaryrefslogtreecommitdiff
path: root/lib/TgLib/Logger.pm
blob: 17a111dc5d089d8091d542b575f1cf78583d2a3c (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
package TgLib::Logger;

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;