在更改时区设置时,如何在日志中保留UTC时间?

2024-05-17 03:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在django项目的settings.py文件中设置时区:

TIME_ZONE = 'US/Eastern'

现在我的日志包含了美国/东方时报

我想在我的日志中保留UTC时间。可能吗


Tags: 文件项目djangopyzonesettingstime时间
1条回答
网友
1楼 · 发布于 2024-05-17 03:20:18

Django使用Python的日志功能,因此这里不应该有任何Django特定的内容

根据the logging documentation,设置logging.Formatter.converter = time.gmtime应使所有日志以UTC格式输出

或者,您可以创建自己的Formatter类来使用UTC:

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

然后使用dictconfig中的()键(文档化的here)对其进行配置:

LOGGING = {
    'formatters': {
        'utc': { 
            '()': 'my.package.UtcFormatter',
            'format': '...',
            'datefmt': '...',
        }
    }
}

相关问题 更多 >