2016-08-03 6 views
5

私は単純なロギングを使用しようとしており、エラー/例外をSentryに送信したいとします。私は私の中でこのコードを配置する場合Sentry django configuration - logger

私はジャンゴにSentry documentationのようにロギング設定を追加したドキュメントごとに歩哨を構成して、私のdevの上に成功(python manage.py raven test

をテストを実行するには、

を設定しますビュー、それはすべての

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設定を追加しました。ログにファイルを書き込むことはできますが、sentryに送信することはできません。別のことは、もし私がエラーを起こすと、それは守衛に送られます。 – Dilraj

答えて

1

ためNKSジャンゴとの統合は、settings.pyに特別なレイヴンDjangoのアプリとRAVEN_CONFIGが必要です。

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

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

はあなたのセットアップにそれらをお持ちですか?