我需要在错误报告中包含一个自定义数据对象/ JSON字符串,而不会丢失Stackdriver似乎捕获的stacktrace。将JSON字符串设置为message
似乎不是理想的解决方案。
我在线上看到了对jsonPayload
密钥的引用,但是在报告中没有成功设置它。
在我将Stackdriver集成到(通过日志记录客户端)的Node.js系统中,我有一个记录器功能,该功能可以接收有关环境的其他数据,错误堆栈以及导致错误的任何支持数据,我希望在报告中包括此内容,以便可以对其进行快速调查。
我不得不在过渡期间使用Google Stackdriver Logging API来处理此问题,但是我发现指标查看器有些复杂,并且很难跟踪已处理的日志。
我之前在此看到了stale question,但不想劫持它。它也没有任何解决方案。
希望有解决方案!
答案 0 :(得分:2)
我要做的是将自定义有效负载存储到数据存储,并将到数据存储查看器的链接放到错误异常消息中。例如,以下是它在Ruby中的外观(该方法存储了我需要调试的while
和url
字符串作为类型html
的数据存储区实体的属性):
exception_details
这是我收到的电子邮件:
我没有单击蓝色按钮,而是访问超链接,现在可以在其中检查我存储的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
变量: