1

最近我正在尝试在 go-project 中使用 Bugsnag。我可以使用以下包从我的项目发送 Bugsnag 通知:https ://github.com/bugsnag/bugsnag-go 。但是,每当我在 Bugsnag 中打开错误时,我只能看到请求 URL 和标头。我也想查看请求的正文。否则,它没有帮助。

4

2 回答 2

0

如其他答案所述,使用元数据将是正确的方法,但我建议使用环境变量使自定义元数据可用于处理错误和未处理的恐慌。

BUGSNAG_METADATA_request_body=requestBody

request如果发生错误,这会将以下元数据添加到选项卡中:

body: {
         "object": {
           "a": "b",
           "c": "d",
         },
         "string": "Hello World"
      }
于 2021-12-22T20:29:05.847 回答
0

您可以将请求的正文添加为MetaData.

md := bugsnag.MetaData{}
md.AddStruct("requestBody", reqBodyAsStruct)
bugsnag.Notify(err, md)

您可能想要创建一个中间件函数并将其提供给它,bugsnag.OnBeforeNotify而不必在bugsnag.MetaData任何地方使用。在这种情况下,您可以*http.Request直接传入。您可能希望使用此函数作为编写此中间件函数的起点。

于 2019-02-25T18:02:40.957 回答