2016-03-09 10 views
14

Wir betreiben einen Django-Server und verwenden Sentry, um Ausnahmen zu erfassen. Wenn wir Sentry konfigurieren fügen wir RAVEN_CONFIG unsere verschiedenen settings.py Dateien:Wie konfigurierst du einen Sentry Raven Client in einer Entwicklungsumgebung, um keine Ausnahmen zu senden und trotzdem zu arbeiten?

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

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

Wir here lesen, dass wir einen leeren String DSN Eigenschaft nur nutzen können. Obwohl, wenn wir laufen python manage.py raven test wie dargestellt here erhalten wir:

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

Die beste Lösung wäre, dass wir immer ein Raven-Client und die Einstellungsdatei definieren würde verwenden können, ob Ausnahmen gesendet werden oder nicht.

Eine weitere Anforderung ist, dass wir das Modul Client verwenden und Ausnahmen erfassen möchten. Aus diesem we have to set einige DSN Wert:

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

Also kein DSN Wert Einstellung ist nicht möglich,

Antwort

7

Dokumentation Sie haben haben zu setzen DSN Wert, gibt es nur ein Beispiel wie, um es einzustellen.

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. 

Es ist wichtig zu beachten, dass Sie None (oder nichts) als DSN Parameter und nicht leeren String sollte, sonst wirft es InvalidDsn: Unsupported Sentry DSN scheme.

Auch wenn Sie nicht, dass Raven is not configured (logging is disabled)... in Ihren Protokollen mögen, können Sie es wie so stumm:

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

Wir hier gelesen, dass wir nur einen leeren String DSN-Eigenschaft verwenden können.

Sie sollten nicht DSN auf einen leeren String, sondern in Ihrer Entwicklung Konfigurationseinstellungen die DSN Einstellung in erster Linie nicht angeben werden Einstellung: nicht sagen,

RAVEN_CONFIG = {} 
+0

Editted die Frage zu erklären, warum dies nicht möglich ist. TL; DR - wir möchten das Python Raven Client-Modul verwenden, das bei der Initialisierung einen DSN benötigt –