如何在Python日志中设置GMT/UTC时间戳?

72 投票
7 回答
36782 浏览
提问于 2025-04-16 19:24

有没有办法把日志的时区设置为GMT?

(也就是格式里的%(asctime)s这个参数)

7 个回答

7

在我使用Python 2.5的时候,单单设置 logging.Formatter.converter = time.gmtime 并没有效果。

所以我创建了一个子类,把这个设置放进去,然后用这个子类来替代 logging.Formatter:

class UTCFormatter(logging.Formatter):
    converter = time.gmtime
8

来自Python 3的文档:

import time

class UTCFormatter(logging.Formatter):
    converter = time.gmtime

https://docs.python.org/3/howto/logging-cookbook.html#formatting-times-using-utc-gmt-via-configuration

97
logging.Formatter.converter = time.gmtime

(在logging.Formatter.formatTime的文档说明中有详细记录)

撰写回答