Sentry PHP-确定异常/事件是否真的成功发送



我已经在一个运行良好的项目中实现了针对Sentry onpremise安装的PHP库,当它设置为工作时,我对功能没有任何问题。

我想做的是确定实际哨兵记录何时因任何原因失败,但很难在应用程序流中找到sentry返回可用于确定"记录成功"的内容的位置。

我通过将Raven_Client构造中使用的DSN地址更改为无效URL来强制失败,并且可以确认事件没有被记录——这是意料之中的事。

SentryRaven_Client公开了一个方法getLastEventID(),该方法似乎在创建事件本身时包含一个ID,而不是在成功提交到服务器时(我希望它是这样,并在上进行了检查以显示我的错误页面(。

还有一个getLastError()方法,在我的应用程序(CodeIgniter(进入My_Exceptions::show_exception()方法向客户端显示错误页面时,该方法为空。

SentryID被填充,错误为null,我不确定还有什么可以检查的,以知道错误报告实际上没有被记录。

我想这样做的原因是,我可以向用户显示不同的视图(没有说"支持已被通知";因为他们没有(,还可以检查$sentryEventId和显示自定义反馈表单的功能显然需要隐藏,因为sentryEventId无效,反馈不会去任何地方。

如果您使用的是Sentry PHP SDK的1.10.0版本,并且没有使用任何异步方式发送事件(默认(,则如果send操作失败,则getLastEventID()将为null

另请参阅引入此更改的PR。

最新更新