如何在 logstash 中使用 grok 或 gsub 删除特定单词之前的部分字符串?

How to remove part of the string before specific word using grok or gsub in logstash?

我有一个字符串字段 "origin_message"。这是一个相当大的(使用多行来获取邮件内容。"origin_message"示例:

Delivered-to: somemail@domain.com A LOT OF OTHER CONTENT Subject: Subject goes here AND THE REST OF THE MESSAGE

想要的结果:

Subject goes here AND THE REST OF THE MESSAGE

有没有办法 trim "Subject:" 短语之前的所有内容?

我尝试了以下过滤器但没有成功:

filter {
mutate {
    add_field => { "original_message" => "%{message}" }
    convert => {
        "original_message" => "string"
    }

    gsub => [
        "original_message", "^(.*)Subject", " "
    ]
}
}

不知道为什么,但是在将 "message" 字段复制到单独的 "original_message" 字段之前在 "message" 字段上使用 gsub 解决了这个问题。

filter {
mutate {
    gsub => ["message", "^(.*)Subject", " "]
    add_field => { "original_message" => "%{message}" }

    convert => {
        "original_message" => "string"
    }
}
}

@Val,感谢验证。问题似乎与模式无关。