From: Jim C. <jc...@di...> - 2003-05-30 22:22:36
|
Folks, I humbly submit for your consideration. =head1 NAME Log::Log4perl::AutoCategorize - a Log4perl wrapper which uses your package and subroutine names to create logging categories. =head1 ABSTRACT Log::Log4perl::AutoCategorize is a wrapper module for Log::Log4perl; it provides a different interface for (what I perceive as) better usability. I assume hereafter that youve read and understood its documentation (hereafter referred to as baseclass or base) There are several more mature alternatives which you should check out for comparison; #1. search for Stealth Loggers in base POD use Log::Log4perl qw(:easy); Log::Log4perl->easy_init($ERROR); #2. new functionality, developed at approx same time as AutoCategorize use Log::Log4perl::Filter; =head1 SYNOPSIS use Log::Log4perl::AutoCategorize ( alias => 'Logger', # shorthand class-name alias # easy init methods (std ones available too) # maybe later (when base has #includes), 2nd will override 1st initfile => $filename, initstr => q{ log4perl.rootLogger=DEBUG, A1 # log4perl.appender.A1=Log::Dispatch::Screen log4perl.appender.A1 = Log::Dispatch::File log4perl.appender.A1.filename = ./mylog log4perl.appender.A1.mode = write log4perl.appender.A1.layout = PatternLayout log4perl.appender.A1.layout.ConversionPattern=%d %c %m%n # create COVERAGE log log4perl.logger.Logger.END = INFO, COVERAGE log4perl.appender.COVERAGE = Log::Dispatch::File log4perl.appender.COVERAGE.filename = ./test-coverage.txt log4perl.appender.COVERAGE.mode = write log4perl.appender.COVERAGE.layout = org.apache.log4j.PatternLayout log4perl.appender.COVERAGE.layout.ConversionPattern = (%d{HH:mm:ss.SSS}) %c: %m%n }, ); foreach (1..500) { Logger->warn($_); foo(); A->bar(); A::bar(); } sub foo { foreach (1..20) { Logger->warn($_); } } package A; sub bar { my @d; foreach (1..20) { push @d, $_; Logger->warn($_,\@d); } } |