如何解决在 Google Cloud Logs Explorer 中过滤非空字符串的查询日志
我正在尝试查询满足简单条件的所有日志:
某些 jsonPayload
日志条目的 DEFAULT
具有以下结构:
response: {
Values: [
[ ]
]
}
其中 Values
中的每一项都是一个数组。在大多数情况下,Values
在数组中只有一个项目 ""
(空)。我想编写一个查询来过滤所有具有不同于空字符串(实际上是一个数组)的值的日志条目。
这是我尝试运行的查询:
severity="DEFAULT" AND
jsonPayload.response.Values != ''
这没有返回任何结果。有数千个条目,其中大部分是空的。这能做到吗?如果是这样,在这种情况下我缺少什么?
编辑
我正在检查 Values
中的第一个值是否不是空字符串。在我要查找的条目中,第一项的值将是一个数组。
编辑 2
按照建议的参考,我尝试寻找相反的:
severity="DEFAULT" AND
jsonPayload.response.Values = ''
这会按预期向我显示空值数组的所有结果。让我困惑的是为什么它不起作用。日志由用作事件处理的 webhook 的云函数生成。 jsonPayload
表示来自事件源的请求正文。
解决方法
要在 official documentation 中看到的 Google Cloud Logs Explorer 中过滤非空字符串:
severity="DEFAULT" AND
jsonPayload.response.Values = !~ ''
另一种方式是:
severity="DEFAULT" AND
jsonPayload.response.Values:*
NOT jsonPayload.response.Values = ''
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。