我已经针对Sentry本地安装到项目中实现了PHP库,该项目运行良好,在设置正常工作时,功能没有问题。
我想做的是确定实际哨兵记录由于什么原因而失败的时间,但是很难找到哨兵在应用程序流程中的什么地方返回可以用来确定“记录成功”的东西。
我通过将Raven_Client
构造中使用的DSN地址更改为无效的URL来强制失败,并且可以确认未记录事件-这是预期的。
哨兵Raven_Client
公开了一种方法getLastEventID()
,该方法似乎在事件本身创建时包含一个ID,而不是在成功提交到服务器后才包含ID(我期望它是完成了检查以显示我的错误页面。
还有一个getLastError()
方法,当我的应用程序(CodeIgniter)输入My_Exceptions::show_exception()
方法以向客户端显示错误页面时,该方法为null。
SentryID已填充,错误为空,我不确定还有什么可检查的,以知道错误报告实际上未能记录。
我要这样做的原因是,我可以向用户显示不同的视图(没有说“已通知支持”;因为他们没有),并且还具有检查{{ 1}}并显示一个自定义反馈表单,显然该表单需要隐藏,因为sentryEventId无效且反馈不会随处可见。
答案 0 :(得分:0)
如果您使用的是Sentry PHP SDK的1.10.0版本,并且未使用任何异步方式发送事件(默认),则getLastEventID()
将是null
,如果{{1} }操作失败。
另请参见引入了此更改的the PR。