Как добавить собственный суффикс в файл журнала, который вращается в Perl с помощью модуля log4perl?

Приведенный ниже код: Когда размер файла журнала превышает 5 МБ, создайте новый файл журнала с именем logfile.log.1, logfile.log.2, так далее.

Но как мне создать собственное имя файла журнала как logfile_20140530_15_31.log используя модуль log4perl?

my $log_conf = "
   log4perl.rootLogger              = DEBUG, LOG1

   log4perl.appender.LOG1           = Log::Dispatch::FileRotate
   log4perl.appender.LOG1.filename  = $logfile.log
   log4perl.appender.LOG1.mode      = append
   log4perl.appender.LOG1.autoflush = 1
   log4perl.appender.LOG1.size      = 1024000
   log4perl.appender.LOG1.max       = 5
   log4perl.appender.LOG1.layout    = Log::Log4perl::Layout::PatternLayout
   log4perl.appender.LOG1.layout.ConversionPattern = \%d{yyyy-MM-dd HH:mm:ss}\%P|\%p|\%m|\%n
";

Log::Log4perl::init(\$log_conf);

my $logger = Log::Log4perl->get_logger();

$logger->info("error ");

1 ответ

Из документации Log::Dispatch::FileRotate:

SYNOPSIS

  use Log::Dispatch::FileRotate;

  my $file = Log::Dispatch::FileRotate->new( name      => 'file1',
                                       min_level => 'info',
                                       filename  => 'Somefile.log',
                                       mode      => 'append' ,
                                       size      => 10,
                                       max       => 6,
                                      );
  # or for a time based rotation

  my $file = Log::Dispatch::FileRotate->new( name      => 'file1',
                                       min_level => 'info',
                                       filename  => 'Somefile.log',
                                       mode      => 'append' ,
                                       TZ        => 'AEDT',
                                       DatePattern => 'yyyy-dd-HH',
                                      );

  $file->log( level => 'info', message => "your comment\n" );

Возможно, вы могли бы заменить size & max с TZ & DatePattern,

Другие вопросы по тегам