我有一个普通的 python (non-Django) 项目,我试图将 Raven 绑定到 logging setup中。
在我们当前的设置下,我们使用一个简单的日志配置:
import logging
logging.basicConfig(format='long detailed format',
level=logging.DEBUG)
然后将输出重定向到日志文件;这会产生一个很好的、详细的日志,我们可以在需要时查看它。
我们现在要添加 Raven 的错误日志记录,将其绑定到我们当前的日志记录设置中,这样logging.error
调用也会导致将消息发送到 Sentry 服务器。使用以下代码:
from raven import Client
from raven.conf import setup_logging
from raven.handlers.logging import SentryHandler
raven = Client(environ.get('SENTRYURL', ''), site='SITE')
setup_logging(SentryHandler(raven, level=logging.ERROR))
错误已成功发送到 Sentry,但我现在只得到一行文件输出:
DEBUG: Configuring Raven for host: <DSN url>
所有其他文件输出——从logging.debug
到logging.error
——被抑制。
如果我评论该setup_logging
行,我会得到文件输出但没有哨兵错误。我究竟做错了什么?