我的 LOGGER 的 settings.py 如下,
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'json': {
'()': 'sample_app.json_log_formatter.JSONFormatter',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'stream': sys.stdout,
#'level': '',
'formatter': 'json'
},
},
'loggers': {
'': {
'handlers': ['console'],
'level': 'INFO',
#'propogate': True,
},
},
}
现在,当有任何未处理的异常(例如 var = abc 并且未定义 abc 时,我会得到 2 次日志,
一个是我的处理程序,所以回溯错误是 json 格式,第二个是同样的错误,没有 json 格式,它来自 django.request。
注意:我没有在我的代码中添加任何额外的记录器行。我只希望我所有未处理的异常也是 json 格式,但只有一次。这样当我发送给 ELK 时,它是干净的