Как настроить клиент Raven Sentry в среде разработки, чтобы не отправлять исключения и работать?

Мы запускаем сервер Django и используем Sentry для захвата исключений. Когда мы настраиваем Sentry, мы добавляем RAVEN_CONFIG наши разные файлы settings.py:

INSTALLED_APPS = (
    'raven.contrib.django.raven_compat'
)

RAVEN_CONFIG = {
    'dsn': 'https://*****@app.getsentry.com/PORT_NUMBER',
}

Мы читаем здесь, что мы можем просто использовать свойство пустой строки DSN. Хотя, когда мы запускаем python manage.py raven test, как изображено здесь, мы получаем:

raven.exceptions.InvalidDsn: Unsupported Sentry DSN scheme:  ()

Лучшим решением было бы то, что мы всегда могли бы использовать клиент Raven, а файл настроек определял бы, отправляются ли исключения или нет.

Еще одно требование состоит в том, что мы хотели бы использовать модуль Client и исключать захват. Для этого нам нужно установить значение DSN:

from raven import Client
client = Client('https://<key>:<secret>@app.getsentry.com/<project>')

Таким образом, невозможно установить значение DSN

Ответы

Ответ 1

В документации не указано, что вам нужно установить значение DSN, просто пример, как его установить.

In [1]: from raven import Client

In [2]: client = Client()
Raven is not configured (logging is disabled). Please see the documentation for more information.

In [3]: client.captureMessage('hello')  # it a noop - no error, no capture.

Важно отметить, что вы должны передать None (или вообще ничего) в качестве параметра DSN, а не пустую строку, в противном случае она поднимает InvalidDsn: Unsupported Sentry DSN scheme.

Кроме того, если вам не нравится этот Raven is not configured (logging is disabled)... в ваших журналах, вы можете отключить его так:

>>> import logging
>>> logging.getLogger('raven').setLevel(logging.WARNING)

Ответ 2

Мы читаем здесь, что мы можем просто использовать свойство пустой строки DSN.

Вы не должны устанавливать DSN в пустую строку, но вместо этого в настройках параметров разработки не указывайте параметр DSN в первую очередь:

RAVEN_CONFIG = {}