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

时间:2018-11-09 21:50:14

标签: php sentry

我已经针对Sentry本地安装到项目中实现了PHP库,该项目运行良好,在设置正常工作时,功能没有问题。

我想做的是确定实际哨兵记录由于什么原因而失败的时间,但是很难找到哨兵在应用程序流程中的什么地方返回可以用来确定“记录成功”的东西。

我通过将Raven_Client构造中使用的DSN地址更改为无效的URL来强制失败,并且可以确认未记录事件-这是预期的。

哨兵Raven_Client公开了一种方法getLastEventID(),该方法似乎在事件本身创建时包含一个ID,而不是在成功提交到服务器后才包含ID(我期望它是完成了检查以显示我的错误页面。

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

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

我要这样做的原因是,我可以向用户显示不同的视图(没有说“已通知支持”;因为他们没有),并且还具有检查{{ 1}}并显示一个自定义反馈表单,显然该表单需要隐藏,因为sentryEventId无效且反馈不会随处可见。

1 个答案:

答案 0 :(得分:0)

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

另请参见引入了此更改的the PR