哨兵 Django 集成 event_level

Sentry DjangoIntegration event_level

我像这样将 Sentry 与 Django 一起使用:

sentry_integration = DjangoIntegration()
sentry_sdk.init(
    dsn="https://xxx@sentry.io/xxx",
    integrations=[sentry_integration]
)

并使用这些日志记录设置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
        'file': {
            'class': 'logging.FileHandler',
            'filename': os.path.join(BASE_DIR, 'logs', 'django.log'),
        },
    },
    'loggers': {
        'django': {
            'handlers': ['file', 'console'],
            'level': 'DEBUG',
        },
        'django.template': {
            'handlers': ['file', 'console'],
            'level': 'INFO',
        },
        'app': {
            'handlers': ['file', 'console'],
            'level': 'DEBUG',
        }
    },
}

如果我在我的代码中实例化并调用记录器,它会发送到 Sentry。

import logging
logger = logging.getLogger(__name__)

logger.error("error!")

但是,现在我还想记录 .warning 通话。 documentation 说要这样做:

sentry_logging = LoggingIntegration(event_level=logging.WARNING)
sentry_sdk.init(
    dsn="https://xxx@sentry.io/xxx",
    integrations=[sentry_logging]
)

但使用的是 LoggingIntegration 而不是 DjangoIntegration。我尝试在上面的代码中使用 DjangoIntegration 但出现此错误:

TypeError: init() got an unexpected keyword argument 'event_level'

这可能吗?

集成参数是一个列表。您可以传入两个集成:

init(
    integrations=[LoggingIntegration(...), DjangoIntegration(...)]
)