[英]How to configure Python Logging with YAML to log in UTC?
我知道我可以設置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
模塊僅支持密鑰format
, datefmt
和class
; 您的converter
密鑰完全被忽略。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.