为什么我会得到记录器“sentry.errors”的缺失处理程序?

can*_*dry 5 django sentry

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"
Run Code Online (Sandbox Code Playgroud)

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

ben*_*ing 4

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

sentry_errors_log = logging.getLogger("sentry.errors")
sentry_errors_log.addHandler(logging.StreamHandler())
Run Code Online (Sandbox Code Playgroud)

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

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