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



(现已弃用)哨兵django集成文档建议以下LOGGING配置(https://docs.sentry.io.io/clients/python/python/integrations/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查询,因此我们可以与UI中的其他面包屑以不同的方式显示它们。

Raven将此逻辑卸载给用户,新的SDK sentry_sdk在内部忽略了记录器。您可以在此处找到同等的内容:https://github.com/getsentry/sentry-python/blob/blob/fde576e489dd7926fce7bae7be7be7be7be7be7be7be7be7be7be8399021cddde14/>

相关内容

  • 没有找到相关文章

最新更新