【问题标题】:Why do I get a missing handler for logger "sentry.errors"?为什么我会丢失记录器“sentry.errors”的处理程序?
【发布时间】:2011-09-28 09:16:23
【问题描述】:

我以集成方式安装了django-sentry。 然后我运行python manage.py shell 并尝试像这样记录:

>> import logging
>> mylog = logging.getLogger('sentrylogger')
>> mylog.handlers
[<logging.StreamHandler instance at 0x9f6130c>,
 <sentry.client.handlers.SentryHandler instance at 0x9ffed4c>]

>> mylog.debug('this is a test 1')
DEBUG 2011-09-28 11:10:33,178 <ipython console> 4607 -1217300800 this is a test 1
No handlers could be found for logger "sentry.errors"

目前,没有任何内容写入哨兵。我相信丢失的记录器'sentry.errors'是我无法登录哨兵的根本原因。我在正确的轨道上吗?

【问题讨论】:

    标签: django sentry


    【解决方案1】:

    是的,缺少一个处理程序。我无法解释为什么记录到一个日志会影响另​​一个日志实例,但是如果您在执行 mylog.debug(..) 之前尝试编写它,它可能会起作用:

    sentry_errors_log = logging.getLogger("sentry.errors")
    sentry_errors_log.addHandler(logging.StreamHandler())
    

    此外,请参阅有关似乎手动添加 sentry.errors 日志处理程序的旧版本的文档:

    http://readthedocs.org/docs/sentry/en/latest/config/index.html#older-versions

    【讨论】:

      【解决方案2】:

      如果您使用 HTTPS 在自己的域上运行 sentry,则 sentry SNI 支持存在错误。检查https://github.com/getsentry/raven-python/issues/523了解更多详情。一个快速的解决方法是用threaded+requests+https替换DSN方案:

      RAVEN_CONFIG = {
          'dsn': 'threaded+requests+https://xxxxxxxxxxxx@sentry.example.com/1',
      }
      

      【讨论】:

      • 当通过添加哨兵错误处理程序发现的基础错误与 SSL 相关时的有用答案。
      猜你喜欢
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2011-08-27
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多