2012-03-21 17 views
8

Şimdi bu django-sentry bağımsız bir sunucu haline geldi (ve fantastik) Ben uygulamaları kullanmak için üzerine port etmeye çalışıyorum.nöbetçi, kuzgun ve django kereviz

Bir django uygulaması to log using django 1.3's logging dictionary conf as per the raven docs yapılandırılmış bağımsız bir sunucu kurdum. Nöbetçi sunucuya giriş yapmak için herhangi bir kereviz görevi göremiyorum (konsola yazdırılmış olsalar bile).

Ne yapmam gerektiğinden emin değilim? "INSTALLED_APPS" adımında raven.contrib.django.celery'u ekledim. Buna eklemem gerekiyor

import logging 
logger = logging.getLogger(__name__) 
... 
logger.info("Logged Message")  
+0

deneyin Yanlış * exc_info * dokümanlardaki gibi bilgi(). Ayrıca, kereviz aynı settings.py kullanır. – ilvar

+0

Asenkronize olarak looging yapmanız gerekiyorsa, INSTALLED_APPS'nizde 'raven.contrib.django.celery' ifadesini kullanmanız yeterlidir. – diegueus9

cevap

10

:

'celery': { 
     'level': 'WARNING', 
     'handlers': ['sentry'], 
     'propagate': False, 
    }, 

için senin loggers Ayarlarınızdaki değişken LOGGING yılında yoluyla özel günlük mesajı olarak

Yakalanmamış istisnalar, nöbetçi gönderiliyor.

gibi bir şey:

# the site admins on every HTTP 500 error. 
# See http://docs.djangoproject.com/en/dev/topics/logging for 
# more details on how to customize your logging configuration. 
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': 'DEBUG', 
      '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, 
     }, 
     'celery': { 
      'level': 'WARNING', 
      'handlers': ['sentry'], 
      'propagate': False, 
     }, 
    }, 
} 
+0

Tabii seviyeye bakın, belki de UYARI – diegueus9

+0

yerine DEBUG'e ihtiyacınız var. Bu hala maalesef çalışmıyor. "Kuzgun" kaydedicinin neden "konsol" işleyicisine değil, "nöbetçiye" giriş yaptığını anlamıyorum. Bu, her şeyi alan bir 'kök' kaydedicisi olduğu için mi? –

+0

Snippet'imde konsolda oturum açabileceğimi açıkça belirtiyorum, root logger varsayılan olarak nöbetçiye günlükleri gönderir, sorunların sürümlerle ilgili olduğunu düşünüyorum, bunu celery 2.4.6 ile test ediyorum, django-celery 2.4 .2 ve rave 1.4.3 ama yine de en son sürümleri ile test ediyorum ve taks günlüğü – diegueus9

İlgili konular