google-app-engine - protoPayload 与 jsonPayload 的日志记录
问题描述
我的应用程序的日志条目导致 jsonPayload,而 gae 请求日志条目使用 protoPayload。就像在 protoPayload 中一样,我在日志中添加了一个 requestId,它显示在 jsonPayload 中。但是,当使用“显示来自同一请求的条目”操作的日志查看器时,我看不到我的日志条目,因为过滤器使用 protoPayload.requestId="xyz"。我尝试对 jsonPayload.requestId="xyz" 使用 or 条件,但这没有帮助。理想情况下,我什至不想手动编辑子句,因为每次都这样做会很痛苦。似乎根据以下文档,每种类型的有效负载中的 requestId 都不会映射到相同的底层 bigquery 字段。
https://cloud.google.com/logging/docs/export/bigquery
日志条目上还有一个“跟踪”字段,所有相关日志都相同。但是,没有要搜索的称为跟踪的字段。进行文本搜索确实会返回所有条目。虽然这可行,但 UX 还是很糟糕,因为它需要首先深入到请求日志条目,复制跟踪值,然后进行查询。
那么,是否有任何其他选项可以轻松地将请求日志条目与该请求的其余应用程序日志条目联系起来?
解决方案
在有效的日志条目中有一个名为“trace”的字段。我想我对 protoPayload 中的“traceId”感到困惑。请注意,要让“trace”字段与 json 有效负载一起显示,字段名称应为“logging.googleapis.com/trace”
推荐阅读
- php - 使用 php 以 html 形式显示错误消息
- python - Pandas:如何获取目录中每个文件的行数的数据框?
- python - Python - 在 VirtualEnv 中导入模块时出现问题
- docker - Docker 容器将在某个时间后退出 (1) 状态
- html - HTML CSS Bootstrap:悬停时,按钮中的图标不会改变颜色?
- java - 使用变量用 Cucumber 填充字段
- vue.js - Vue.js 带有复选框的多重搜索
- php - php 删除在 witdh 爆炸更新
- node.js - 如何让 Express 服务器使用 React 路由?
- php - Laravel:数据未正确存储在数据库列中