我们使用Log::Log4perl来记录当前日期:
log4perl.appender.perllog.layout.ConversionPattern=%d{yyyyMMdd.hhmmss:}-%P-%H-%p{2}-%m
还有办法记录时区吗?
答案 0 :(得分:4)
Log::Log4perl::Layout::PatternLayout中的日期格式由Log::Log4perl::DateFormat
实现,它支持时区偏移的Z
说明符:
use strict;
use warnings 'all';
use Log::Log4perl;
my $conf = <<'CONF';
log4perl.logger.Foo = INFO, perllog
log4perl.appender.perllog = Log::Log4perl::Appender::File
log4perl.appender.perllog.filename = foo.log
log4perl.appender.perllog.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.perllog.layout.ConversionPattern = \
%d{yyyyMMdd.hhmmssZ:}-%P-%H-%p{2}-%m
CONF
Log::Log4perl::init(\$conf);
my $logger = Log::Log4perl->get_logger('Foo');
$logger->warn('Hello, timezone!');
输出:
20160831.094036-0600:-28223-www.example.com-WA-Hello, timezone!
Log :: Log4perl :: Layout :: PatternLayout中没有记录;通常使用未记录的功能是一个坏主意,但在这种情况下,看起来作者只是忘记在将功能添加到另一个模块时更新一个模块中的文档。我已提交a ticket以更新文档。