###########################################
# Tests for Log4perl used by a wrapper class
# Mike Schilli, 2002 (m@perlmeister.com)
###########################################
use warnings;
use strict;
use Test;
BEGIN { plan tests => 1 }
##################################################
package Wrapper::Log4perl;
use Log::Log4perl;
use Log::Log4perl::Level;
our @ISA = qw(Log::Log4perl);
sub get_logger {
# This is highly stupid (object duplication) and definitely not what we
# want anybody to do, but just to have a test case for a logger in a
# wrapper package
return Wrapper::Log4perl::Logger->new(@_);
}
##################################################
package Wrapper::Log4perl::Logger;
sub new {
my $real_logger = Log::Log4perl::get_logger(@_);
bless { real_logger => $real_logger }, $_[0];
}
sub AUTOLOAD {
no strict;
my $self = shift;
$AUTOLOAD =~ s/.*:://;
$self->{real_logger}->$AUTOLOAD(@_);
}
sub DESTROY {}
##################################################
package main;
use Log::Log4perl;
$Log::Log4perl::caller_depth = 1;
use Log::Log4perl::Level;
my $log0 = Wrapper::Log4perl->get_logger("");
$log0->level($DEBUG);
my $app0 = Log::Log4perl::Appender->new(
"Log::Log4perl::Appender::TestBuffer");
my $layout = Log::Log4perl::Layout::PatternLayout->new(
"File: %F{1} Line number: %L package: %C");
$app0->layout($layout);
$log0->add_appender($app0);
##################################################
my $rootlogger = Wrapper::Log4perl->get_logger("");
$rootlogger->debug("Hello");
ok($app0->buffer(), "File: 022Wrap.t Line number: 60 package: main");