2012-05-30 12 views
7

में संतरी/काला कौआ उपयोग करने के लिए मैं संतरी को सफलतापूर्वक स्थापित करने में कामयाब रहे और मैं स्थानीय होस्ट पर संतरी इंटरफेस वेब सेवा को देख सकते हैं और एककैसे Django विचारों

raven test http://jsifslkdjfklsdfjklsdjfklMYCODE 

काम करता है कर, परीक्षण इंटरफ़ेस में दिखाई देता है।

समस्या यह है कि मुझे अपने विचारों और मेरी सेटिंग्स पर वास्तव में क्या करना चाहिए, इस पर कोई उदाहरण या दस्तावेज़ीकरण नहीं मिल रहा है।

मैं जानता हूँ कि मैं अपने INSTALLED_APPS में जोड़ने के लिए है

'संतरी', 'raven.contrib.django',

और मुझे यह भी कहा

SENTRY_DNS = 'http://jsifslkdjfklsdfjklsdjfklMYCODE' 

यह अगले दो पंक्तियों में दिखाई दस्तावेज़ों में लेकिन यह नहीं कहता कि वे

from raven.contrib.django.models import client 
client.captureException() 

I tri सेटिंग्स.py में संपादित करें लेकिन फिर भी मैं कुछ भी लॉग इन करने के लिए अपने विचार नहीं प्राप्त कर सकता हूं। मैं यह भी कहा इस

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'root': { 
     'level': 'WARNING', 
     'handlers': ['sentry'], 
    }, 
    'formatters': { 
     'verbose': { 
      'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' 
     }, 
    }, 
    'handlers': { 
     'sentry': { 
      'level': 'ERROR', 
      'class': 'raven.contrib.django.handlers.SentryHandler', 
     }, 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'verbose' 
     } 
    }, 
    'loggers': { 
     'django.db.backends': { 
      'level': 'ERROR', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
     'raven': { 
      'level': 'DEBUG', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
     'sentry.errors': { 
      'level': 'DEBUG', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
    }, 
} 

और मेरे विचारों में मैं इस कहा:

import logging 
logger = logging.getLogger() 

def home(request,template_name): 
    logger.error('There was some crazy error lol', exc_info=True, extra={'request': request, }) 
    return render_to_response(template_name,context, context_instance=RequestContext(request)) 

मैं अलग तुम यहाँ क्या देख से प्रवेश करने से संबंधित कोई अन्य कोड है, मैं क्या याद आ रही है?

उत्तर

1

मैं अपने settings.py पर इस monstruosity का इस्तेमाल किया था:

import logging 
# from raven.contrib.django.handlers import SentryHandler 
from raven.handlers.logging import SentryHandler 

logging.getLogger().setLevel(logging.INFO) 
logger = logging.getLogger()# ensure we havent already registered the handler 
handler = SentryHandler('http://13d06dad246d4fe6a180ef9b15151a13:[email protected]/1') 
logger.addHandler(handler) 
# Add StreamHandler to sentry's default so you can catch missed exceptions 
logger = logging.getLogger('sentry.errors') 
logger.propagate = False 
logger.addHandler(logging.StreamHandler()) 


from raven.conf import setup_logging 
setup_logging(handler) 

और मेरे विचारों में मैं एक साधारण

import logging 
logger = logging.getLogger(__name__) 
def home(request,context={},template_name=None): 
    logger.info(str(request), exc_info=True) 
    return render_to_response(template_name,context, context_instance=RequestContext(request)) 

मैं कई सेटिंग्स की कोशिश की उपयोग कर सकते हैं।

7

आपका 'रेवेन' लॉगर वास्तव में संत्री हैंडलर का उपयोग नहीं कर रहा है, बल्कि केवल 'कंसोल' पर लिख रहा है। एक ही समस्या थी। रेवेन/सेंड्री के लिए प्रलेखन में एक अच्छा लेखक नहीं है।

परिवर्तन करने के लिए अपने काला कौआ लकड़हारा:

'raven': { 
      'level': 'DEBUG', 
      'handlers': ['console', 'sentry'], 
      'propagate': False, 
     }, 

और आप लकड़हारा के रूप में उपयोग सुनिश्चित करें:

logger = logging.getLogger('raven') 
+7

'रैवेन' लकड़हारा काला कौआ पैकेज को संदर्भित करता है, और मुझे लगता है होता यह है कि वहां रखो ताकि रेवेन आंतरिक त्रुटियों को रेवेन पर वापस नहीं भेजा जा सके, जिसके परिणामस्वरूप अनंत लूप हो। आपको अपना खुद का लॉगर 'myapp' बनाना चाहिए जिसमें सेटिंग.py LOGGING में इसकी प्रविष्टि है। – joerick

संबंधित मुद्दे