Как настроить клиент Sentry raven в среде разработки, чтобы он не отправлял исключения и продолжал работать?
Мы используем сервер 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
значение не возможно
2 ответа
Документация не говорит, что вы должны установить 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's 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)
Мы читаем здесь, что мы можем просто использовать пустое строковое свойство DSN.
Вы не должны устанавливать DSN
в пустую строку, но вместо этого в настройках параметров разработки не указывайте DSN
установка в первую очередь:
RAVEN_CONFIG = {}