登录
首页 >  Golang >  Go问答

如何在控制台上显示哨兵警报消息

来源:stackoverflow

时间:2024-02-23 11:21:23 496浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《如何在控制台上显示哨兵警报消息》,聊聊,我们一起来看看吧!

问题内容

我正在开发一套用 golang 编写的微服务。几个月后我就会进行演示,到明年这些服务就应该投入生产。现在,我只是讨论所有基础知识和样板,包括对哨兵的调用。

所有服务都会发出多个异步请求,从而启动多个进程。如果一件事失败了,我不想惊慌或返回;我想继续执行,但我希望能够回去看看发生了什么。

在开发过程中,我真的不想向 Sentry 发送任何内容,但我想看看 Sentry 的输出是什么,这样我就可以确保消息、面包屑、堆栈跟踪等都按预期捕获。这样的事情可能吗?我尝试运行本地服务器,但它非常臃肿,并且启动了大约 20 个 docker 容器并消耗了大量内存。只是寻找一些轻量级的东西,这样我就可以看到发生了什么。


解决方案


我想出了一个解决方案——输出非常冗长,但这正是我正在寻找的(目前)。我只是提供了自己的传输实现并将其传递给 clientoptions:

type consoleTransport struct{}

func (t *consoleTransport) Configure(options sentry.ClientOptions) {
    zap.L().Info("Sentry client initialized with an empty DSN. Using consoleTransport. No events will be delivered.")
}

func (t *consoleTransport) SendEvent(event *sentry.Event) {
    b, _ := json.Marshal(event)
    fmt.Println("[SENTRY CONSOLE] " + string(b))
}

func (t *consoleTransport) Flush(_ time.Duration) bool {
    return true
}

终于介绍完啦!小伙伴们,这篇关于《如何在控制台上显示哨兵警报消息》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>