Не очень хорошая идея смешивать easy_init
с пользовательскими приложениями.Вы можете исправить это, добавив appender в logger $logger->add_appender($appender)
.Но это приведет к дублированию сообщений, потому что вы уже установили appender в easy_init
.
Я предлагаю вам вместо этого использовать конфигурацию.Вы можете встроить конфигурацию в свой код:
use strict; use warnings;
use Log::Log4perl;
Log::Log4perl->init(\<<CONFIG);
log4perl.rootLogger = DEBUG, screen, file
log4perl.appender.screen = Log::Log4perl::Appender::Screen
log4perl.appender.screen.stderr = 0
log4perl.appender.screen.layout = PatternLayout
log4perl.appender.screen.layout.ConversionPattern = %d %p> %F{1}:%L %M - %m%n
log4perl.appender.file = Log::Log4perl::Appender::File
log4perl.appender.file.filename = 1.log
log4perl.appender.file.mode = append
log4perl.appender.file.layout = PatternLayout
log4perl.appender.file.layout.ConversionPattern = %d %p> %F{1}:%L %M - %m%n
CONFIG
my $logger = Log::Log4perl->get_logger();
$logger->info("my message");