Python - Sanitize ключи в обработчике регистрации Sentry (django) - PullRequest
0 голосов
/ 23 декабря 2018

Я добавляю обработчик регистрации Sentry в свой проект Django.Я хочу настроить обработчик sentry, добавив sanitize keys и два процессора: raven.processors.SanitizePasswordsProcessor, raven.processors.SanitizeKeysProcessor.

Есть ли способ сделать это в конфигурации регистрации без написания нового класса обработчика, оборачиваяraven.contrib.django.raven_compat.handlers.SentryHandler класс с параметрами, которые я хочу?

Это моя конфигурация регистрации:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'x': {
        #'format': '[%(asctime)s #%(process)d] %(levelname)s: %(message)s'
        'format': '%(asctime)s - %(name)s  - %(levelname)s - %(message)s - {%(pathname)s:%(lineno)d}'
    }
},
'handlers': {
    'console': {
        'level': 'DEBUG',
        'class': 'logging.StreamHandler',
        'formatter': 'x'
    },
    'sentry': {
        'level': 'ERROR',
        'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler'
    }
},
'loggers': {
    'django': {
        'level': 'INFO',
        'handlers': ['console', 'sentry'],
        'propagate': True
    },
}

Спасибо

1 Ответ

0 голосов
/ 10 мая 2019

Конфигурация LOGGING является неправильным местом для добавления этих фильтров и не будет очищать события Sentry.

Как указано в Client Arguments doc , правильное место - RAVEN_CONFIG, также в файле настроек Django:

RAVEN_CONFIG = {
  'dsn': 'https://<key>:<secret>@sentry.io/<project>',
  'sanitize_keys': [
    'keyname1',
    'keyname2',
  ],
  'processors': (
    'raven.processors.SanitizeKeysProcessor',
    'raven.processors.SanitizePasswordsProcessor',
  )
}

Raven поддерживается для Django 1.4до 2,0 (см. Django Docs ).Sentry предлагает новый sentry-sdk для Django 2.1 и более поздних версий и имеет инструкции по интеграции Django .В сообщении Переключение на Sentry-Python в комментарии упоминается, что Sentry SDK больше не предоставляет эти фильтры , и рекомендуется написать пользовательский фильтр , если необходимо.Параметр send_default_pii , False по умолчанию управляет записью и отправкой большого количества конфиденциальных данных, таких как IP-адреса, данные пользователя и файлы cookie, которые контролировались этими фильтрами в прошлом.

...