[英]Regular Expressions in Google Cloud Console Logging
您如何使用正则表达式在新的 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
如果您想在textPayload
中找到所有带有 500 的 GET 响应,则需要添加过滤器:
textPayload:"500"
要搜索其中包含central1
的所有zone
:
resource.labels.zone:"-central1-"
而已。 您可以参考此链接以获取更多高级过滤器
现在 Google Cloud Operations Logging 支持正则表达式。 此功能发布于 2020-09-17,请参阅https://cloud.google.com/blog/products/management-tools/cloud-logging-gets-regular-expression-support 。 您的正则表达式以这种格式工作:
textPayload=~"my.*query"
您可以使用运算符=~
查询正则表达式匹配项,使用运算符!~
查询不匹配项:
=~ # 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
Stackdriver Logging 产品目前不支持正则表达式。 它最初在一段时间前得到支持(正如您在博客文章中看到的那样),但我们发现它很少被使用,并且其中许多用途是用于简单的模式,这些模式具有更简单的解决方案,而没有正则表达式的性能和其他损失。
在基本过滤器模式(默认)中,文本搜索自动不区分大小写并匹配字段值的子字符串,您可以使用“..”表示数值范围。 在高级过滤器模式下,“has”运算符通过在过滤器表达式中使用:
而不是=
来完成相同的事情,例如path.to.field: "value"
。 (另请参阅: 编写有效的高级过滤器)
如果这些操作员没有实现您的目标,请考虑通过 Cloud Console 右上角的对话气泡按钮提交反馈,提供您的用例的详细信息以及您最终想要实现的目标,我们会将这些反馈合并为我们规划产品的未来方向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.