如何更改Log4perl时间戳的时区

时间:2012-06-17 11:08:18

标签: perl log4perl

我的网络服务器位于与我不同的时区,我在Log4perl配置中使用此模式布局:

log4perl.appender.LOGFILE.layout=PatternLayout
log4perl.appender.LOGFILE.layout.ConversionPattern=%d | %p | %l | %c | %m%n

%d在服务器的时区中生成日期/时间。如何让它在我当地的时区记录日期/时间呢?

我知道以下内容:

$Log::Log4perl::DateFormat::GMTIME = 1;

导致在GMT中记录日期/时间但是我在文档中找不到任何支持任意时区的内容。

1 个答案:

答案 0 :(得分:0)

如果您通常为Perl设置时区,那么也会修复日志。对于你的目的,可能是一种过于钝的仪器:

use POSIX qw(tzset);

$ENV{TZ} = 'desired time zone goes here';
tzset;

如果你有权访问,你可以在网络服务器本身的环境中设置TZ并将所有内容放在所需的区域内。

但我认为你最好用UTC记录所有内容。