Categories Log4perl是任意的,並且與您的應用程序的類層次結構無關。
use strict;
use warnings;
use Log::Log4perl qw(get_logger);
my $conf = q(
log4perl.category.first = DEBUG, FileAppender1
log4perl.category.second = DEBUG, FileAppender2
log4perl.appender.FileAppender1 = Log::Log4perl::Appender::File
log4perl.appender.FileAppender1.filename = first.log
log4perl.appender.FileAppender1.layout = Log::Log4perl::Layout::SimpleLayout
log4perl.appender.FileAppender2 = Log::Log4perl::Appender::File
log4perl.appender.FileAppender2.filename = second.log
log4perl.appender.FileAppender2.layout = Log::Log4perl::Layout::SimpleLayout
);
Log::Log4perl::init(\$conf);
my $logger1 = get_logger('first');
my $logger2 = get_logger('second');
$logger1->debug('foo');
$logger2->info('bar');
$logger1->error('baz');
first.log
DEBUG - foo
ERROR - baz
second.log
INFO - bar
此外,該消息沒有特定的模式,因此,使用自定義過濾器使用正則表達式不會進一步工作我所看到的。 – DVK