为什么 Sentry 推荐的 Django 日志记录配置会静默来自 django.db.backends 的日志记录?

Why does Sentry's recommended Django logging configuration silence logging from django.db.backends?

(现已弃用)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 文档似乎甚至不承认此记录器的存在。此配置按原样呈现,作为让 Django 登录到 Sentry 的一种方式。

  1. 我的解读正确吗?
  2. 你能想出任何理由吗?您似乎想要将 django.db.backends.* >= WARNING 日志条目发送到 Sentry。

django.db.backends 包含每个 SQL 查询的日志,这是 Django 使用它的唯一目的。据我所知,此命名空间上从未记录过任何警告或错误。

我们想忽略来自 django.db.backends 的日志记录面包屑,因为我们已经有一个自定义挂钩用于在 Django 中捕获 SQL 查询,这样我们就可以在 [=22] 中以不同于其他面包屑的方式显示它们=].

Raven 将此逻辑卸载给用户,新的 SDK sentry_sdk 在内部忽略了记录器。您可以在此处找到等效项:https://github.com/getsentry/sentry-python/blob/fde5576e489dd7926fce7bae7be8399021cdde14/sentry_sdk/integrations/django/init.py#L365