The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

log4perl.rootLogger=INFO, A1
# log4perl.appender.A1=Log::Dispatch::Screen
log4perl.appender.A1 = Log::Dispatch::File
log4perl.appender.A1.filename = sub { $0=~ s&\.(?:t|pl)$|\.|/&&g; "./out.$0" }

log4perl.appender.A1.mode = write
log4perl.appender.A1.layout = PatternLayout
# suppress clock so files are directly diffable
# log4perl.appender.A1.layout.ConversionPattern=(%d{HH:mm:ss.SSS}) %c: %m%n
log4perl.appender.A1.layout.ConversionPattern=%c: %m%n

# create COVERAGE log
log4perl.appender.COVERAGE = Log::Dispatch::File
log4perl.appender.COVERAGE.filename = sub{ $0=~ s&\.(?:t|pl)$|\.|/&&g; "./out.$0.cover" }
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

# send End block output to COVERAGE
log4perl.logger.Log.Log4perl.AutoCategorize.END = INFO, COVERAGE

# do some filtering

# override rootloggers level (INFO) for all of A.truck
# ie set A.truck to debug
log4perl.category.A.truck = DEBUG
# but suppress one msg
log4perl.category.A.truck.66 = INFO

# ignore Kyoto ! :-/
log4perl.category.main.suv.warn = ERROR

# despite the ban on political dissent, a grumble leaks thru
log4perl.category.main.suv.warn.54 = INFO