如何使Log :: Log4perl记录器工作?

时间:2010-05-22 18:46:40

标签: perl logging log4perl

这是我的代码:

use strict;
use warnings;
use Log::Log4perl qw(:easy);

Log::Log4perl->init({
 level => $DEBUG
});

my $logger = Log::Log4perl->get_logger("my.logger");
my $appender = Log::Log4perl::Appender->new("Log::Log4perl::Appender::File",filename => "my.file");
$appender->layout(Log::Log4perl::Layout::SimpleLayout->new);
$logger->add_appender($appender);

$logger->info("this is an info");

我想要做的就是将消息记录到文件中,并显示级别。我明白这就是SimpleLayout的用途。我想在没有配置文件的情况下这样做。 运行上面的代码会显示以下消息:

Log::Log4perl configuration looks suspicious: No loggers defined

1 个答案:

答案 0 :(得分:2)

http://log4perl.sourceforge.net/releases/Log-Log4perl/docs/html/Log/Log4perl/FAQ.html#f625e开始,尝试以下方法:

use Log::Log4perl qw(:easy);
# Append to a log file
Log::Log4perl->easy_init( { level   => $DEBUG,
                            file    => ">>my.file" } );