根据Sentry的文档:https://docs.getsentry.com/on-premise/clients/python/integrations/logging/
在使用头下,他们建议不要使用auto_log_stacks = true,但是不说他们为什么不推荐这个。有没有人知道有关在现场使用此选项的任何问题?
答案 0 :(得分:1)
在某些情况下,inspect.stack()
(Sentry用来获取callstack的功能)可能不准确。
例如,如果您正在使用日志记录处理程序集成,这是captureMessage
最常见的调用方式,那么emit()
可能就是inspect.stack()
被叫与原始呼叫有不同的堆栈跟踪。这并不常见,但它高度依赖于日志堆栈的使用方式。
此外,对log.warning()
的通话也不免费。绩效成本并不高,但值得注意。
我们(Sentry)推回这种功能的主要原因是通常不需要captureMessage。它主要用于日志记录,而Sentry不用于聚合日志。唯一真正支持的案例是类似tween._hasStarted = false
这样的东西,我们认为这是可行的,但不是例外。