Как заставить работать логгер Log::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


person Geo    schedule 22.05.2010    source источник


Ответы (1)


Из 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" } );
person DVK    schedule 22.05.2010