"Exception succesfully sent to server" 事件

"Exception succesfully sent to server" event

我想知道是否有办法知道通知是否正确发送到 Sentry 云。 原因是为了向用户展示反馈。

我正在使用这条指令:

SentryId id = SentrySdk.CaptureException(ex);

而且无论通知是否发送到云(例如:无互联网连接),我都没有看到任何异常或通知被触发。

如果失败 id 将等于 Guid.Empty。如果成功,它将有一个非空的 GuidSentryId 是一个围绕 Guid 的薄包装结构,并且有一个指向 Guid.

的隐式运算符

至于日志记录。 Sentry 具有 Diagnostic Logger 的概念,可以让您捕获有关这些失败的更多详细信息

添加到 Simon 的回答中:Guid.EmptySentryId 部分会告诉您事件是否已排队等待提交。 这意味着,如果 SDK 未初始化,事件被您的 BeforeSend 挂钩丢弃,或者队列已满,例如,您将返回 Guid.Empty.

如果 SDK 已正确初始化并且事件已排队等待后台提交,您将取回该事件的 ID。

现在,事件可能会在稍后被丢弃,例如由于速率限制、超出配额等。也可能事件已被 Sentry 接收,但随后由于配置的入站过滤器而被丢弃该事件分组到的服务器或问题被标记为“丢弃并忽略”。因此,SDK 中没有一种方法可以确定“事件应该在仪表板中”,如果由于某种原因它不是,并且您希望它是,正如@Simon 建议的那样,最好从 SDK 诊断开始记录以检查事件是否首先到达服务器。