1########################################### 2# Test Suite for Log::Log4perl::Logger 3# Mike Schilli, 2002 (m@perlmeister.com) 4########################################### 5 6BEGIN { 7 if($ENV{INTERNAL_DEBUG}) { 8 require Log::Log4perl::InternalDebug; 9 Log::Log4perl::InternalDebug->enable(); 10 } 11} 12 13use warnings; 14use strict; 15 16use Test; 17 18use Log::Log4perl qw(get_logger); 19use Log::Log4perl::Level; 20use Log::Log4perl::Appender::TestBuffer; 21 22BEGIN { plan tests => 6 } 23 24ok(1); # If we made it this far, we're ok. 25 26################################################## 27# System-wide threshold 28################################################## 29# Reset appender population 30Log::Log4perl::Appender::TestBuffer->reset(); 31 32my $conf = <<EOT; 33log4perl.logger.a = INFO, BUF0 34log4perl.appender.BUF0 = Log::Log4perl::Appender::TestBuffer 35log4perl.appender.BUF0.layout = Log::Log4perl::Layout::SimpleLayout 36log4perl.threshold = ERROR 37EOT 38 39Log::Log4perl::init(\$conf); 40 41my $app0 = Log::Log4perl::Appender::TestBuffer->by_name("BUF0"); 42 43my $loga = get_logger("a"); 44 45$loga->info("Don't want to see this"); 46$loga->error("Yeah, loga"); 47 48ok($app0->buffer(), "ERROR - Yeah, loga\n"); 49 50################################################## 51# System-wide threshold with appender threshold 52################################################## 53# Reset appender population 54Log::Log4perl::Appender::TestBuffer->reset(); 55 56$conf = <<EOT; 57log4perl.logger = ERROR, BUF0 58log4perl.logger.a = INFO, BUF1 59log4perl.appender.BUF0 = Log::Log4perl::Appender::TestBuffer 60log4perl.appender.BUF0.layout = Log::Log4perl::Layout::SimpleLayout 61log4perl.appender.BUF0.Threshold = WARN 62log4perl.appender.BUF1 = Log::Log4perl::Appender::TestBuffer 63log4perl.appender.BUF1.layout = Log::Log4perl::Layout::SimpleLayout 64log4perl.appender.BUF1.Threshold = INFO 65log4perl.threshold = ERROR 66EOT 67 68Log::Log4perl::init(\$conf); 69 70$app0 = Log::Log4perl::Appender::TestBuffer->by_name("BUF0"); 71my $app1 = Log::Log4perl::Appender::TestBuffer->by_name("BUF1"); 72 73$loga = get_logger("a"); 74 75$loga->info("Don't want to see this"); 76$loga->error("Yeah, loga"); 77 78ok($app0->buffer(), "ERROR - Yeah, loga\n"); 79ok($app1->buffer(), "ERROR - Yeah, loga\n"); 80 81############################################################ 82# System-wide threshold shouldn't lower appender thresholds 83############################################################ 84# Reset appender population 85Log::Log4perl::Appender::TestBuffer->reset(); 86 87$conf = q( 88log4perl.threshold = DEBUG 89log4perl.category = INFO, BUF0 90log4perl.appender.BUF0.Threshold = WARN 91log4perl.appender.BUF0 = Log::Log4perl::Appender::TestBuffer 92log4perl.appender.BUF0.layout = Log::Log4perl::Layout::SimpleLayout 93); 94 95Log::Log4perl::init(\$conf); 96 97my $logger = get_logger(); 98$logger->info("Blah"); 99 100$app0 = Log::Log4perl::Appender::TestBuffer->by_name("BUF0"); 101ok($app0->buffer(), "", "syswide threshold shouldn't lower app thresholds"); 102 103############################################################ 104# System-wide threshold shouldn't lower appender thresholds 105############################################################ 106# Reset appender population 107Log::Log4perl::Appender::TestBuffer->reset(); 108 109$conf = q( 110log4perl.threshold = ERROR 111log4perl.category = INFO, BUF0 112log4perl.appender.BUF0.Threshold = DEBUG 113log4perl.appender.BUF0 = Log::Log4perl::Appender::TestBuffer 114log4perl.appender.BUF0.layout = Log::Log4perl::Layout::SimpleLayout 115); 116 117Log::Log4perl::init(\$conf); 118 119$logger = get_logger(); 120$logger->warn("Blah"); 121 122$app0 = Log::Log4perl::Appender::TestBuffer->by_name("BUF0"); 123ok($app0->buffer(), "", "syswide threshold trumps thresholds"); 124