Mercurial > repos > stheil > taxonomy_sqlite
diff perl/lib/Logger/Logger.pm @ 0:4ecb2ce50254 draft default tip
Uploaded
author | stheil |
---|---|
date | Mon, 26 Oct 2015 10:59:07 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perl/lib/Logger/Logger.pm Mon Oct 26 10:59:07 2015 -0400 @@ -0,0 +1,59 @@ +#!/usr/bin/perl +# $Id: Logger.pm,v 1.3 2011/07/01 18:07:31 nguilhot Exp $ +package Logger::Logger; + +################################################## +## Included modules +################################################## +## Perl modules +use strict; +use warnings; +use diagnostics; +use Log::Log4perl; +use Log::Log4perl::Layout; +use Log::Log4perl::Level; +use Exporter 'import'; + +our $logger; +our @EXPORT = qw($logger); + +$logger = Log::Log4perl->get_logger(''); + +# Define stdout Appender, by default messages will only be logged to stdout +# In order to log messages to a file, you need to call the initFileLoggers +# method with the name of folder where to create the log files +my $stdout_layout = Log::Log4perl::Layout::PatternLayout->new("%5p - %m%n"); +my $stdout_appender = Log::Log4perl::Appender->new( + "Log::Log4perl::Appender::Screen", + name => 'screenlog', + stderr => 1); +$stdout_appender->layout($stdout_layout); +$stdout_appender->threshold($INFO); +$logger->add_appender($stdout_appender); +$logger->level($INFO); + + + +sub changeMode { + my ($s,$verbosity) = @_; + my $debug_layout = Log::Log4perl::Layout::PatternLayout->new("%d %5p> %F{1}:%L %M - %m%n"); + my $debug_appender = Log::Log4perl::Appender->new( + "Log::Log4perl::Appender::Screen", + name => 'debuglog', + stderr => 0); + $debug_appender->layout($debug_layout); + $logger->add_appender($debug_appender); + $logger->remove_appender('screenlog'); + + if($verbosity == 3){ + $stdout_appender->threshold($DEBUG); + $logger->level($DEBUG); + } + if($verbosity == 4){ + + $stdout_appender->threshold($TRACE); + $logger->level($TRACE); + } +} + +1;