Согласно эта старая ветка , поддержки нет:
ankit tandon пишет:
Привет всем, в настоящее время есть какой-либо способ для печати меток времени / даты в log4cpp, преобразованных в часовой пояс GMT / UT C. Я где-то читал, что использование "% d" выводит дату в формате UT C, но мы все еще получаем время нашей местной системы (США). Мы будем очень благодарны за любую помощь по этому поводу.
Нет, нет возможности распечатать UT C время с помощью PatternLayout. Но вы можете написать свой собственный аппендер, который будет печатать UT C timestamps / date.
Это расходится с документацией , утверждающей, что% d печатает UT C, и % D по местному времени.
Итак, я проверил код в log4 cpp -1.1.3.tar.gz на предмет достоверности. Похоже, это всегда localtime
:
std::time_t t = event.timeStamp.getSeconds();
localtime(&t, ¤tTime);
Возможно, вы могли бы просто исправить эту строку, чтобы вместо нее использовать gmtime
.