Cloudwatch:过滤以@开头的属性的事件



假设我有以下日志行

{
"@t": "2022-05-24T00:02:12.0888863Z",
"@m": "An error occurred",
"@l": "Error",
"action" : "blah"
}

这是由serillogs Compact Json Formatter生成的日志格式。我喜欢它的格式,只是希望它更容易搜索。

现在我可以很容易地搜索action = blah,如下所示{$.action = "blah"},但我真正想搜索的是日志级别@l = Error

这行不通
{$.@l= "Error"}

到目前为止,我一直在做这样的字符串搜索

""@l":"Error""

但是我不能像那样组合多个搜索词

我想知道是否有一种实际的方法可以以结构化的方式搜索这个并能够组合条件?

我不认为你可以过滤日志事件,但你可以很容易地使用Log Insights代替。在Log Events视图中单击Actions按钮并选择"view in Log Insights",然后创建如下查询:

filter @logStream = 'my-log-stream-name'
| fields @timestamp, @message
| filter @@l = 'Error'

最新更新