Go 有没有办法将哨兵信息输出到控制台

Go 有没有办法将哨兵信息输出到控制台,go,sentry,Go,Sentry,我正在golang编写一套微服务。我在几个月后有一个演示,到明年这些服务将投入生产。现在,我只是列出了所有的基础知识和样板,包括对哨兵的呼叫 所有服务都会发出几个异步请求,这些请求会启动多个进程。如果有一件事失败了,我不想惊慌失措,也不想回来;我想继续执行死刑,但我想回去看看发生了什么 在开发过程中,我真的不想向Sentry发送任何东西,但我想看看Sentry的输出是什么,这样我就可以确保消息、面包屑、堆栈跟踪等都按预期捕获。这样做可能吗?我试着运行本地服务器,但它非常臃肿,它启动了大约20个d

我正在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
}