在Sentry上为python app启用auto_log_stacks

时间:2016-05-16 14:36:53

标签: sentry

根据Sentry的文档:https://docs.getsentry.com/on-premise/clients/python/integrations/logging/

在使用头下,他们建议不要使用auto_log_stacks = true,但是不说他们为什么不推荐这个。有没有人知道有关在现场使用此选项的任何问题?

1 个答案:

答案 0 :(得分:1)

在某些情况下,inspect.stack()(Sentry用来获取callstack的功能)可能不准确。

例如,如果您正在使用日志记录处理程序集成,这是captureMessage最常见的调用方式,那么emit()可能就是inspect.stack()被叫与原始呼叫有不同的堆栈跟踪。这并不常见,但它高度依赖于日志堆栈的使用方式。

此外,对log.warning()的通话也不免费。绩效成本并不高,但值得注意。

我们(Sentry)推回这种功能的主要原因是通常不需要captureMessage。它主要用于日志记录,而Sentry不用于聚合日志。唯一真正支持的案例是类似tween._hasStarted = false这样的东西,我们认为这是可行的,但不是例外。