【发布时间】:2018-04-30 12:46:52
【问题描述】:
我想将 logging.config.dictConfig 与 json 配置文件一起使用。但我想使用另一个类的格式化程序:pythonjsonlogger.jsonlogger.JsonFormatter
这段代码/json有什么问题:
$ cat test.json
{
"version": 1,
"disable_existing_loggers": "true",
"formatters": {
"json": {
"class": "pythonjsonlogger.jsonlogger.JsonFormatter"
# also tried "jsonlogger.JsonFormatter" (comment not in real file)
}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"level": "DEBUG",
"formatter": "json",
"stream": "ext://sys.stdout"
}
},
"loggers": { },
"root": {
"handlers": ["console"],
"level": "DEBUG"
}
}
代码:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
import json
import logging
import logging.config
from pythonjsonlogger import jsonlogger
fp = open('/test.json')
logging.config.dictConfig(json.load(fp))
fp.close()
logging.info('test log line')
输出:
test log line
预期类似 { "message": "test log line" }
【问题讨论】: