Google Stackdriver错误报告API-包含自定义数据

时间:2018-07-06 20:35:35

标签: node.js google-cloud-platform stackdriver google-cloud-error-reporting

我需要在错误报告中包含一个自定义数据对象/ JSON字符串,而不会丢失Stackdriver似乎捕获的stacktrace。将JSON字符串设置为message似乎不是理想的解决方案。

我在线上看到了对jsonPayload密钥的引用,但是在报告中没有成功设置它。

在我将Stackdriver集成到(通过日志记录客户端)的Node.js系统中,我有一个记录器功能,该功能可以接收有关环境的其他数据,错误堆栈以及导致错误的任何支持数据,我希望在报告中包括此内容,以便可以对其进行快速调查。

我不得不在过渡期间使用Google Stackdriver Logging API来处理此问题,但是我发现指标查看器有些复杂,并且很难跟踪已处理的日志。

我之前在此看到了stale question,但不想劫持它。它也没有任何解决方案。

希望有解决方案!

1 个答案:

答案 0 :(得分:2)

我要做的是将自定义有效负载存储到数据存储,并将到数据存储查看器的链接放到错误异常消息中。例如,以下是它在Ruby中的外观(该方法存储了我需要调试的whileurl字符串作为类型html的数据存储区实体的属性):

exception_details

这是我收到的电子邮件:

enter image description here

我没有单击蓝色按钮,而是访问超链接,现在可以在其中检查我存储的def report_error url, html begin raise "https://console.cloud.google.com/datastore/entities/query/gql?gql=#{ CGI.escape "SELECT * FROM exception_details WHERE __key__=Key(exception_details, #{ Datastore.save( Datastore.entity("exception_details") do |error| error["url"] = url error["html"] = html error.exclude_from_indexes! "html", true end ).first.key.id })" }" rescue => e Google::Cloud::ErrorReporting.report e end end 变量:

enter image description here