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