У меня была похожая проблема. Вы можете записать дату и время для UTC / GMT в log4php, изменив одну строку кода в модуле.
Вот как я это сделал. Зайдите в модуль и найдите файл LoggerPatternConverterDate.php
.
cd log4php/pattern/
vim LoggerPatternConverterDate.php
Найдите функцию private
date($format, $utimestamp)
(для меня строка 84) и измените строку кода, которая возвращается.
Это:
return date(preg_replace('`(?<!\\\\)u`', $ms, $format), $timestamp);
становится:
return gmdate(preg_replace('`(?<!\\\\)u`', $ms, $format), $timestamp);
Также найдите файл: log4php/appenders/LoggerAppenderDailyFile.php
и измените следующую строку:
Это:
return date($this->datePattern, $timestamp);
становится:
return gmdate($this->datePattern, $timestamp);
ПРИМЕЧАНИЕ. Единственное, что изменилось, - это функция, используемая для форматирования строки даты. date()
зависит от часового пояса, установленного с помощью date_default_timezone_set
, тогда как gmdate()
форматирует дату и время в формате UTC / GMT независимо от часового пояса по умолчанию.