如何使用正则表达式在新的 Cloud Console 中搜索 Google App Engine 日志?
这篇博文建议您只需要键入regex:my.*query
即可搜索,但这似乎在日志控制台中不起作用。当我这样做时,它会自动更正为以下查询text:regex:my.*query
。
如何使用正则表达式在新的 Cloud Console 中搜索 Google App Engine 日志?
这篇博文建议您只需要键入regex:my.*query
即可搜索,但这似乎在日志控制台中不起作用。当我这样做时,它会自动更正为以下查询text:regex:my.*query
。
虽然,我来晚了,但你可以在 stackdriver 中完成。
= # equal
!= # not equal
> < >= <= # numeric ordering
: # "has" matches any substring in the log entry field
如果您想查找所有 500 in 的 GET 响应textPayload
,则需要添加过滤器:
textPayload:"500"
zone
要在其中搜索所有central1
内容:
resource.labels.zone:"-central1-"
而已。您可以参考此链接以获取更多高级过滤器
Stackdriver Logging 产品目前不支持正则表达式。它最初被支持一段时间(正如您在博客文章中看到的那样),但我们发现它很少使用,并且其中许多用途是用于具有更简单解决方案的简单模式,而没有正则表达式的性能和其他损失。
在基本过滤模式(默认)下,文本搜索自动不区分大小写并匹配字段值的子字符串,您可以使用“..”表示数字范围。在高级过滤器模式下,“has”运算符通过在过滤器表达式中使用 a:
而不是a 来完成相同的操作,例如. (另请参阅:编写有效的高级过滤器)=
path.to.field: "value"
如果这些操作员没有实现您的目标,请考虑通过 Cloud Console 右上角的对话气泡按钮提交反馈,提供您的使用案例的详细信息以及您最终要完成的工作,我们会将这些反馈合并为我们规划产品的未来方向。
如今,Google Cloud Operations Logging 支持正则表达式。此功能于 2020 年 9 月 17 日发布,请参阅https://cloud.google.com/blog/products/management-tools/cloud-logging-gets-regular-expression-support。您的正则表达式以这种格式工作:
textPayload=~"my.*query"
您可以使用 operator 查询正则表达式匹配项,使用 operator 查询=~
不匹配项!~
:
=~ # regular expression search for a pattern
!~ # regular expression search not for a pattern
有关语法和示例的更多信息,请参阅 Google Cloud Operations Suite 日志查询语言参考:https ://cloud.google.com/logging/docs/view/logging-query-language#regular-expressions