为了账号安全,请及时绑定邮箱和手机立即绑定

哨兵捕获消息,无需刷新

哨兵捕获消息,无需刷新

Go
猛跑小猪 2022-08-24 18:56:59
在 Go 项目中要立即发送消息,必须使用 Flush 方法,我说得对吗?当我尝试在没有它的情况下发送消息时,它就是不起作用。Flush()
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

文档中

刷新将一直等到基础传输将任何缓冲事件发送到 Sentry 服务器,最多阻止给定的超时。如果达到超时,它将返回 false。在这种情况下,某些事件可能尚未发送。

应在终止程序之前调用 Flush,以避免无意中丢弃事件。

不要在每次调用 CaptureEvent、CaptureException 或 CaptureMessage 后不加选择地调用 Flush。相反,若要让 SDK 通过网络同步发送事件,请将其配置为在对 Init 的调用中使用 HTTPSyncTransport。

因此,虽然您询问的问题是“有效的”问题,以防您需要确保确实将消息发送到服务器,但SDK作者会积极阻止您提出的解决方案(在a之后调用)。相反,请考虑以下情况:Flush()CaptureMessage()

sentry.Init(sentry.ClientOptions{

    Transport: sentry.NewHTTPSyncTransport(),

    // ...

}) 


查看完整回答
反对 回复 2022-08-24
?
波斯汪

TA贡献1811条经验 获得超4个赞

sentry.Init(sentry.ClientOptions{

    Transport: sentry.NewHTTPSyncTransport(),

    // ...

}) 

//img1.sycdn.imooc.com//630604230001a47e05200168.jpg

查看完整回答
反对 回复 2022-08-24
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信