3

我正在尝试将错误记录到 Go 中的 Stackdriver 错误报告。在错误报告的第一页上,有说明“可以通过将应用程序错误记录到 Google Stackdriver Logging 或...来实现从您的应用程序报告错误”(https://cloud.google.com/error-reporting/docs /)。我如何使用 Go 客户端库来做到这一点?

日志Entry提供的构造如下:

github.com/GoogleCloudPlatform/.../logging.go#L412

type Entry struct {
    Timestamp time.Time
    Severity Severity
    Payload interface{}
    Labels map[string]string
    InsertID string
    HTTPRequest *HTTPRequest
    Operation *logpb.LogEntryOperation
    LogName string
    Resource *mrpb.MonitoredResource
}

我是否需要将此JSON 结构编组到有效负载中?或者我可以将堆栈跟踪作为字符串插入吗?

4

2 回答 2

2

一个专门的 Go 包可以帮助你实现这一点:import "cloud.google.com/go/errorreporting"

您可以将其配置为通过 Stackdriver Logging 报告错误,它会负责发送正确的日志结构。

于 2017-01-18T09:22:16.450 回答
1

文档

// Payload must be either a string or something that
// marshals via the encoding/json package to a JSON object
// (and not any other type of JSON value).

看起来像将堆栈跟踪作为字符串插入是要走的路。

于 2017-01-17T21:01:47.597 回答