diff options
Diffstat (limited to 't/064RealClass.t')
-rwxr-xr-x | t/064RealClass.t | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/t/064RealClass.t b/t/064RealClass.t new file mode 100755 index 0000000..8a53782 --- /dev/null +++ b/t/064RealClass.t @@ -0,0 +1,44 @@ +# get_logger($self) in the base class returns a logger for the subclass +# category + +use strict; +use Test::More; +use Log::Log4perl::Appender::TestBuffer; + +plan tests => 1; + +package AppBaseClass; +use Log::Log4perl qw(get_logger :easy); +sub meth { + my( $self ) = @_; + get_logger( ref $self )->warn("in base class"); +} + +package AppSubClass; +our @ISA = qw(AppBaseClass); +use Log::Log4perl qw(get_logger :easy); +sub new { + bless {}, shift; +} + +package main; + +use Log::Log4perl qw(get_logger :easy); + +# $Log::Log4perl::CHATTY_DESTROY_METHODS = 1; + +my $conf = q( +log4perl.category.AppSubClass = WARN, LogBuffer +log4perl.appender.LogBuffer = Log::Log4perl::Appender::TestBuffer +log4perl.appender.LogBuffer.layout = Log::Log4perl::Layout::PatternLayout +log4perl.appender.LogBuffer.layout.ConversionPattern = %m%n +); + +Log::Log4perl::init(\$conf); + +my $buffer = Log::Log4perl::Appender::TestBuffer->by_name("LogBuffer"); + +my $sub = AppSubClass->new(); +$sub->meth(); + +is $buffer->buffer(), "in base class\n", "subclass logger in base class"; |