Как мне заставить мой Log :: Log4perl logger работать? - PullRequest
1 голос
/ 22 мая 2010

Вот код, который у меня есть:

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 Ответ

2 голосов
/ 22 мая 2010

С 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" } );
...