0

我的 Web 服务器与我的时区不同,我在 Log4perl 配置中使用这种模式布局:

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

%d 在服务器的时区生成日期/时间。我怎样才能让它在我的本地时区记录日期/时间?

我知道以下内容:

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

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

4

1 回答 1

0

如果您通常为 Perl 设置时区,那也将修复日志。对于您的目的而言,工具可能过于生硬:

use POSIX qw(tzset);

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

更直接地说,如果您有访问权限,您可以在 Web 服务器本身的环境中设置 TZ,并将所有内容都放在所需的区域中。

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

于 2012-06-17T12:37:45.240 回答