Страж ДжангоИнтеграция - PullRequest
       24

Страж ДжангоИнтеграция

0 голосов
/ 17 октября 2019

Я использую 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 звонки. Документация говорит для этого:

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

Но используется LoggingIntegration, а не DjangoIntegration. Я пытался использовать DjangoIntegration в коде выше, но я получаю эту ошибку:

TypeError: init () получил неожиданный аргумент ключевого слова 'event_level'

Возможно ли это?

1 Ответ

1 голос
/ 17 октября 2019

Аргументом интеграции является список. Вы можете передать обе интеграции:

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