如何使用YAML配置Python日志记录以登录UTC?
发布时间:2020-12-20 11:30:41 所属栏目:Python 来源:网络整理
导读:我知道我可以设置logging.Formatter().converter = time.gmtime.但是我如何在YAML和logging.config.dictConfig中执行此操作? 这是我做的: version: 1formatters: simple: format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s' converter: ext:
我知道我可以设置logging.Formatter().converter = time.gmtime.但是我如何在YAML和logging.config.dictConfig中执行此操作?
这是我做的: version: 1 formatters: simple: format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s' converter: ext://time.gmtime handlers: console: class: logging.StreamHandler level: DEBUG formatter: simple stream: ext://sys.stdout loggers: my_app: level: DEBUG handlers: [console] 但它仍然记录在当地时间. 解决方法
logging.config模块仅支持密钥格式,datefmt和class;您的转换器密钥完全被忽略.
类键确实允许您指定自定义格式化程序,因此您最好的选择是子类logging.Formatter()并让该子类设置转换器: from logging import Formatter import time class GMTFormatter(Formatter): converter = time.gmtime 然后在你的YAML中引用那个类: formatters: simple: format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s' class: ext://your.module.GMTFormatter (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |