http://qs321.pair.com?node_id=357854

water has asked for the wisdom of the Perl Monks concerning the following question:

At work we're examining Log::Log4perl as a logging system (as my previous post indicates). As I evaluate the module, I get the sense I'm not using it well, as I feel it wants to spread like kudzu through our entire project. I want to put a wrapper around it, but am not sure how to do that, as it is a singleton.
Here's why it seems like kudzu. Each script is starting out with something like this
use Log::Log4perl qw(:levels); Log::Log4perl::init('/home/code/log4perl-conf.txt'); my $logger = Log::Log4perl->get_logger($0); $SIG{__DIE__} = sub {$Log::Log4perl::caller_depth++; $logger->fatal('f +atal: ', @_); die @_;};
then each module needs to start out with
use Log::Log4perl qw(:levels); my $logger = Log::Log4perl->get_logger(__PACKAGE__); $logger->level($DEBUG);
Should there be this much overhead? When I see all this repeated code, I don't like it. This adds 4 lines to each program (not a big deal) but it also adds 4 lines to each .t script (?!?!) and 2 lines to module...
surely it shouldn't require this much repeated code?

Thanks for any ideas

water