gcloud 使用正则表达式进行日志记录

gcloud logging with regular expression

我正在尝试将 gcloud logging 与正则表达式一起使用。我的查询在控制台中有效,但我无法通过 CLI 进行查询。

gcloud logging read "resource.type=gce_instance AND protoPayload.authenticationInfo.principalEmail=~'.*@example.com.au'" --limit=10 --format=json

我收到错误:

ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Unparseable filter: unrecognized node at token 'MEMBER'

我试过使用和不使用各种引号'' "" "\"\

我在做时间戳日期时也遇到了同样的麻烦:

gcloud logging read "resource.type=gce_instance AND timestamp > '2021-06-15T00:00:00.000000Z'"

我收到错误:

ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Unparseable filter: syntax error at line 1, column 112, token ':';

您的第一个 gcloud 表达式应该如下所示:

cloud logging read "resource.type=gce_instance AND protoPayload.authenticationInfo.principalEmail:'.*@example.com.au'"

我将 = 符号更改为 :

第二个像这样:

gcloud logging read 'resource.type=gce_instance AND timestamp > "2021-08-15T00:00:00.000000Z"'

我用双引号(字面意思)交换了单引号。

最好快速浏览一下 gcloud logging read command documentation(我通过这种方式找到了正确的语法)。