Open1

CloudWatch Logs Insights

kazuphkazuph

ログのパースは複数行書いてOK

一度に一本の正規表現でパースしようとすると破綻しがちですが、これならシンプルな正規表現を並べるだけで済みます。

filter @logStream = 'my-log-stream'
 | filter @message like /level:(error|debug)/
 | parse @message /status:(?<status>\S+)/
 | parse @message /type:(?<type>\S+)/
 | fields @timestamp

これで status, type, @timestampの順に表示されます。

ただし、もしかしたら演算コスト高いので、出力が遅くなるやも(ただ正規表現一つでも書けばその時点で目に見えて遅い)。