0

我正在使用 log4cpp。有没有办法打印转换为 GMT/UTC 时区的 log4cpp 中的时间戳/日期?

目前我使用 %d ,它当前打印出当地时间,但是我希望在 UTC/GMT 中使用它。

4

1 回答 1

0

根据这个旧线程,没有支持:

ankit tandon пишет:

大家好,目前有什么方法可以打印转换为 GMT/UTC 时区的 log4cpp 中的时间戳/日期。我在某处读到使用“%d”以 UTC 打印日期,但我们仍在获取本地系统(美国)时间。对此的任何帮助将不胜感激。

不,无法使用 PatternLayout 打印 UTC 时间。但是您可以编写自己的附加程序来打印 UTC 时间戳/日期。

这与声称 %d 打印 UTC 和 %D 本地时间的文档不一致。

所以我检查了 log4cpp-1.1.3.tar.gz 中的代码以了解事实。看起来总是这样localtime

std::time_t t = event.timeStamp.getSeconds();
localtime(&t, &currentTime);

也许您可以简单地修补该行以gmtime代替使用。

于 2020-07-11T22:39:10.513 回答