2016-03-09 16 views
14

Chúng tôi đang chạy một máy chủ Django và sử dụng Sentry để nắm bắt ngoại lệ. Khi chúng ta cấu hình Sentry chúng ta thêm RAVEN_CONFIG của chúng tôi settings.py file khác nhau:Làm thế nào để bạn cấu hình một khách hàng quạ Sentry trong một môi trường phát triển để không gửi ngoại lệ và vẫn hoạt động?

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

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

Chúng ta đọc thấy here mà chúng ta vừa có thể sử dụng một sản phẩm nào hữu chuỗi DSN. Mặc dù khi chúng tôi chạy python manage.py raven test như mô tả here chúng tôi nhận được:

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

Giải pháp tốt nhất là chúng ta luôn luôn có thể sử dụng một khách hàng Raven và tập tin cài đặt sẽ xác định liệu trường hợp ngoại lệ được gửi hay không.

Một yêu cầu khác là chúng tôi muốn sử dụng mô-đun Client và chụp ngoại lệ. Đối với we have to set này một số DSN giá trị:

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

Vì vậy, không thiết lập một giá trị DSN là không thể

Trả lời

7

Tài liệu không nói bạn để đặt giá trị DSN, chỉ có một ví dụ cách để đặt.

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. 

Điều quan trọng cần lưu ý là bạn phải vượt qua None (hoặc không có gì cả) như DSN tham số và không chuỗi rỗng, nếu không nó làm tăng InvalidDsn: Unsupported Sentry DSN scheme.

Ngoài ra, nếu bạn không thích điều đó Raven is not configured (logging is disabled)... trong nhật ký của mình, bạn có thể tắt nó như vậy:

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

Chúng ta đọc thấy ở đây mà chúng ta vừa có thể sử dụng một tài sản chuỗi DSN trống.

Bạn không nên thiết lập DSN đến một chuỗi rỗng, nhưng thay vào đó trong cấu hình các thiết lập phát triển của bạn không chỉ định DSN thiết ở nơi đầu tiên:

RAVEN_CONFIG = {} 
+0

biên tập lại các câu hỏi để giải thích tại sao điều này là không thể. TL; DR - chúng tôi muốn sử dụng mô-đun quạ khách hàng yêu cầu DSN khi khởi tạo –

Các vấn đề liên quan