2016-08-03 46 views
5

我想使用簡單的日誌記錄,並希望發送錯誤/例外Sentry。哨兵Django配置 - 記錄器

我配置的哨兵按該文件,併成功地在我的開發運行測試(python manage.py raven test

我增加了日誌記錄配置爲Sentry documentation到Django配置

當我把這個代碼我視圖,那麼它根本不會

import logging 
logger = logging.getLogger(__name__) 
logger.error('There was an error, with a stacktrace!', extra={ 
    'stack': True, 
}) 

工作,也許我失去了一些東西

臨屋爲幫助

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', # To capture more than ERROR, change to WARNING, INFO, etc. 
      'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', 
      'tags': {'custom-tag': 'x'}, 
     }, 
     '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, 
     }, 
    }, 
} 
+0

顯示'LOGGING'的'settings.py'配置。你是什​​麼意思,它根本不起作用?請首先嚐試將記錄器寫入文件 - 請參閱https://docs.djangoproject.com/ja/1.9/topics/logging/#examples。記錄器是否寫入文件但不發送給Sentry? – YPCrumble

+0

我在上面添加了LOGGING配置,是的,我可以寫一個日誌到一個文件但不發送給哨兵。另一件事,如果我提出錯誤,那麼它會發送給哨兵。 – Dilraj

回答

1

集成Django的NKS需要特殊烏鴉Django應用程序和RAVEN_CONFIG在settings.py:

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

RAVEN_CONFIG = { 
    'dsn': 'https://<key>:<secret>@sentry.io/<project>', 
} 

你有沒有設置呢?