2016-03-09 40 views
14

Bir Django sunucusu çalıştırıyor ve istisnaları yakalamak için Sentry kullanıyoruz. Biz Sentry yapılandırmak biz RAVEN_CONFIG bizim farklı settings.py dosyaları eklemek: Bir geliştirme ortamında bir Sentry kuzgun istemcisini istisna göndermemek ve çalışmaya devam etmek için nasıl yapılandırabilirsiniz?

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

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

Biz sadece boş bir dize DSN özelliğini kullanabilirsiniz here okuyun. Biz tasvir here olarak python manage.py raven test çalıştırdığınızda rağmen elde ederiz:

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

iyi çözüm her zaman istisnalar gönderilen veya girmeyen tanımlayacak bir Raven istemcisi ve ayarlar dosyasını kullanabilirsiniz olurdu.

Başka bir gereksinim, Client modülünü kullanmak ve özel durumları yakalamak istiyoruz. Bu we have to set için bazı DSN değeri:

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

Yani bir DSN değeri ayarlayarak değil

cevap

7

Belgeler demedi , DSN değerini ayarlamak için var, sadece bir örnek ayarlamak için nasıl var.

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. 

O aksi takdirde InvalidDsn: Unsupported Sentry DSN scheme yükseltir, sen DSN parametre değil boş dize olarak None geçmesine (veya hiç bir şey) gerektiğini not etmek önemlidir. Ayrıca

, kendi günlüklerinde bu Raven is not configured (logging is disabled)... beğenmezseniz, bunu gibi kapatabilirsiniz:

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

Biz sadece boş bir dize DSN özelliğini kullanabileceği burada okumak mümkün değildir.

İlk etapta ayarı DSN belirtmeyen ancak bunun yerine geliştirme ayar yapılandırması yılında, boş bir dizeye DSN ayarı olmamalıdır

:

RAVEN_CONFIG = {} 
+0

editted bu neden mümkün olmadığını anlatmaya soru. TL; DR - biz başlatma üzerinde bir DSN gerektiren python kuzgun Müşteri modülünü kullanmak istiyoruz –