【发布时间】:2019-02-27 04:06:54
【问题描述】:
(现已弃用)Sentry Django 集成文档建议使用以下 LOGGING 配置 (https://docs.sentry.io/clients/python/integrations/django/):
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'root': {
'level': 'WARNING',
'handlers': ['sentry'],
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s '
'%(process)d %(thread)d %(message)s'
},
},
'handlers': {
'sentry': {
'level': 'ERROR', # To capture more than ERROR, change to WARNING, INFO, etc.
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
'tags': {'custom-tag': 'x'},
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
},
'raven': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
},
'sentry.errors': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
},
},
}
我对这个记录器定义特别感兴趣:
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
},
对我来说,这表明源自 django.db.backends(和后代)的日志条目仅发送到控制台,并且不会传播到根记录器(配置为将日志条目 >= WARNING 发送到 Sentry。
Sentry 文档似乎甚至不承认该记录器的存在。此配置按原样呈现,作为让 Django 登录到 Sentry 的一种方式。
- 我对此的理解正确吗?
- 你能想到任何理由吗?您似乎希望将
django.db.backends.*>= WARNING日志条目发送到 Sentry。
【问题讨论】:
标签: python django sentry raven