【问题标题】:raven - sentry + django = No servers configured, and sentry not installed. Cannot send messageraven - sentry + django = 未配置服务器,未安装哨兵。无法发送消息
【发布时间】:2012-06-21 10:29:21
【问题描述】:

我有一个工作正常的哨兵服务器。

raven test <dnstoserver> -> Sending a test message... success!

我有一台 django 1.3 和 raven 1.93 的开发机器。 在 django 项目中,我有这个:

setting.py:

SENTRY_KEY=<secretkey>
SENTRY_DNS=<dnstoserver>

INSTALLED_APPS = (
    'bar',
    'foo',
    'raven.contrib.django',
)

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', 'sentry'],
            'propagate': False,
        },        
    },
}

请注意 installed_apps 中没有“哨兵”。这是故意的,因为哨兵是服务器,不应该在客户端上!

views.py(在视图中):

import logging
logger = logging.getLogger("raven")
logger.error("test")

当我在控制台上运行视图时:

No servers configured, and sentry not installed. Cannot send message

为什么,以及如何解决?

【问题讨论】:

    标签: sentry raven


    【解决方案1】:

    你真的设置SENTRY_DNSSENTRY_DSN吗?

    当您设置SENTRY_DSN 时,主要配置变量的实例化会自动发生(包括SENTRY_SERVERSSENTRY_PUBLIC_KEYSENTRY_SECRET_KEYSENTRY_PROJECT

    【讨论】:

    • 嗯,也许问题是那个错字;)谢谢。我还有另一个问题,发送到非默认项目的任何内容都会被静默丢弃。将在github中提出问题。
    【解决方案2】:

    问题出在 raven DjangoClient 的构造中。它没有通过任何服务器,也找不到哨兵配置来窃取该配置。 我在settings.py中添加:

    SENTRY_SERVERS=<dnstoserver>
    

    现在每次调用 raven 时控制台都会输出:

    INFO 2012-06-21 05:33:19,831 base 4323 140735075462336 Configuring Raven for host: <dnstoserver>
    

    但它就像一个魅力!哨兵中的消息...

    顺便说一句。对于所有未记录的设置,请查看raven.contrib.django.models.get_client()

    【讨论】:

      【解决方案3】:

      我建议使用:

      SENTRY_DSN = 'http://user:password@<domain>:<port>/<project_id>'
      

      并在 APPS_INSTALLED 中添加:

      'raven.contrib.django.raven_compat'
      

      还可以查看本指南: http://code.fetzig.at/post/18607051916/sentry-and-raven-setup-for-django-projects

      【讨论】:

        猜你喜欢
        • 2012-08-03
        • 2015-10-04
        • 2017-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-16
        • 2012-01-28
        相关资源
        最近更新 更多