package Foo;
use Init; # initializes Log::Log4perl among other things
use Log::Log4perl qw(get_logger);
my $logger = get_logger();
sub new {
$logger->warn("Creating Foo");
return bless {}, shift;
}
sub foo { $logger->warn("Fooing") }
1;
####
package Bar;
use Init;
use Log::Log4perl qw(get_logger);
sub new {
my $logger = get_logger();
$logger->warn("Creating Bar");
return bless { logger => $logger }, shift;
}
sub bar {
my $self = shift;
$self->{logger}->warn("Baring");
}
1;
####
use Foo;
use Bar;
$f = Foo->new;
$b = Bar->new;
$f->foo;
$b->bar;
####
2006/05/09 11:53:01 WARN> test_log_strategies.pl:8 Foo::new - Creating Foo
2006/05/09 11:53:01 WARN> test_log_strategies.pl:19 Bar::new - Creating Bar
2006/05/09 11:53:01 WARN> test_log_strategies.pl:10 Foo::foo - Fooing
2006/05/09 11:53:01 WARN> test_log_strategies.pl:21 Bar::bar - Baring