Как я могу изменить часовой пояс временных меток Log4perl
Мой веб-сервер находится в часовом поясе, отличном от моего, и я использую этот макет шаблона в конфигурации Log4perl:
log4perl.appender.LOGFILE.layout=PatternLayout
log4perl.appender.LOGFILE.layout.ConversionPattern=%d | %p | %l | %c | %m%n
% D создает дату / время в часовом поясе сервера. Как я могу сделать так, чтобы она записывала дату / время в моем местном часовом поясе?
Я знаю, что следующее:
$Log::Log4perl::DateFormat::GMTIME = 1;
Заставляет регистрировать дату / время по Гринвичу, однако я не смог найти в документации ничего для поддержки произвольных часовых поясов.
1 ответ
Если вы установите часовой пояс для Perl в целом, это также исправит журналы. Может быть, слишком тупым инструментом для ваших целей:
use POSIX qw(tzset);
$ENV{TZ} = 'desired time zone goes here';
tzset;
Чтобы быть еще более грубым, если у вас есть доступ, вы можете установить TZ в среде самого веб-сервера и иметь все в нужной зоне.
Но я думаю, вам лучше записывать все в UTC.