Python 如何在raven/sentry中使用上下文记录完整的调用堆栈?
当在调用堆栈的根上捕获到引发的异常时,我可以在Sentry中看到调用堆栈的每个级别上的整个上下文 但是,当我使用captureMessage()时,我在Sentry中看不到任何上下文 如果我像下面的代码一样使用captureException(),我只能看到调用堆栈的顶部Python 如何在raven/sentry中使用上下文记录完整的调用堆栈?,python,logging,sentry,raven,Python,Logging,Sentry,Raven,当在调用堆栈的根上捕获到引发的异常时,我可以在Sentry中看到调用堆栈的每个级别上的整个上下文 但是,当我使用captureMessage()时,我在Sentry中看不到任何上下文 如果我像下面的代码一样使用captureException(),我只能看到调用堆栈的顶部 try: raise Exception('Breakpoint!') except: raven_client.captureException() 换句话说,我希望在Sentry中看到一条带有完整stac
try:
raise Exception('Breakpoint!')
except:
raven_client.captureException()
换句话说,我希望在Sentry中看到一条带有完整stacktrace和上下文的日志消息。Python SDK能够通过向captureMessage传递
stack=True
来捕获任意stacktrace:
raven_client.captureMessage('hello world', stack=True)
另外还有一个auto\u log\u stacks
值,在配置客户端时可以打开该值:
raven_client = Client(..., auto_log_stacks=True)
警告:自动记录堆栈很有用,但在某些常见情况下不能保证准确。这也是对性能的一个打击,尽管影响不大,因为它必须不断调用inspect.stack()