将异常记录到哨兵时如何修复 'Bad-Request',空体(php sdk)

How to fix 'Bad-Request', empty body when logging exceptions to sentry (php sdk)

我已经从旧的 sentry SDK 迁移到新的统一 PHP SDK。从那时起,异常和错误就不会记录到哨兵中,我收到错误请求响应。

我知道这个问题相当模糊和开放,但我主要想知道是否有任何已知的潜在问题,或者是否有人可以指出正确的方向以进一步调查。

这适用于 PHP 7.3.7 运行ning Wordpress 5.2 和 Sentry SDK 2.1.2 这是一个默认实现,没有对传输进行更改,我们不使用任何集成。错误发生在 Sentry\Transport\HttpTransport::cleanupPendingRequests 之后 WP 在触发错误后 运行 其关闭钩子。

如果我手动将消息记录到 Sentry 它会起作用(大部分时间?只是发生过一次它现在不起作用...)。但是在抛出异常时将异常发送给哨兵则不会。请求设置为通过哨兵中的承诺发送正确的数据,但最后,我收到了错误的请求响应。

自从实施统一的 SDK 以来,我们有两次调用 sentry 确实成功了,但我知道应该还有更多(遗憾的是)。

查看请求并从中构建 curl 命令,运行使它按预期工作。

(我们还使用 Javascript 浏览器 SDK。它应该可以正常工作)

Sentry\init([
            "dsn" => "__dsn__"]);

// works 
Sentry\captureMessage("Hello", Sentry\Severity::debug);

// Will eventually end up returning a Bad Request response
throw new \Exception(":(");

我希望示例中抛出的异常最终出现在 Sentry 中,但相反,我收到了错误的请求响应。

正如@HazA 指出的那样,这是 sentry/sentry 包中的一个错误,已在版本 2.1.3

中修复