[英]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.