#!/usr/software/bin/perl -w use Log::Log4perl qw(get_logger :levels); my $lev = "INFO"; my $loglev; if ($lev =~ /.*DEBUG.*/i){ $loglev = '$DEBUG'; }elsif($lev =~ /.*INFO.*/i){ $loglev = '$INFO'; }elsif($lev =~ /.*WARN.*/i){ $loglev = '$WARN'; }elsif($lev =~ /.*ERROR.*/i){ $loglev = '$ERROR'; }elsif($lev =~ /.*FATAL.*/i){ $loglev = '$FATAL'; }else{ die "\nPlease provide the correct log level\n"; } my $logger = get_logger(); $logger->level($loglev); # $DEBUG,$INFO,$WARN,$ERROR,$FATAL my $appender = Log::Log4perl::Appender->new( "Log::Dispatch::File", filename => "test.log", mode => "append", ); $logger->add_appender($appender); my $layout = Log::Log4perl::Layout::PatternLayout->new( "%d %p> %F{1}:%L %M - %m%n"); $appender->layout($layout); my $cnt = 100; if ($cnt == 100){ hit(); }else{ miss(); } sub hit { $logger->info("\nhit a century"); } sub miss{ $logger->error("\nDid not hit a century"); }