如何解决Python日志记录:如何将时间设置为GMT
| 是否可以以及如何将日志记录时区设置为GMT? (即格式中的“ 0”参数)解决方法
logging.Formatter.converter = time.gmtime
(在logging.Formatter.formatTime
的文档字符串中记录)
, 在Python 2.5中,仅设置logging.Formatter.converter = time.gmtime
对我无效。
因此,我创建了一个带有它的子类,并用它代替了logging.Formatter:
class UTCFormatter(logging.Formatter):
converter = time.gmtime
, 这是代码示例:
import logging,logging.handlers
import time
logit = logging.getLogger(\'logit\')
handler = logging.handlers.RotatingFileHandler(\"file.log\",maxBytes=20000,backupCount=5)
handler.setLevel(logging.INFO)
formatter = logging.Formatter(\'%(asctime)s %(levelname)8s: %(message)s\')
handler.setFormatter(formatter)
logging.Formatter.converter = time.gmtime
logit.addHandler(handler)
logit.info(\"test log message\")
输出:
2019-11-14 16:34:22,967 INFO: test log message
, 这两个答案我都遇到了问题。所以我只是更改了整个脚本的全局时区:
os.environ[\'TZ\'] = \'Europe/London\'
time.tzset()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。