Will my "%{GREEDYDATA:[log_message]}" overwrides all my other grok filters?

grok {
match => {
"message" => [

          "(?<[log][timestamp]>%{YEAR}-%{MONTHNUM}-%{MONTHDAY}%{SPACE}%{TIME}) \[%{NOTSPACE:[LOG][LEVEL]}\] %{GREEDYDATA:[log_message]}"
        ,

          "(?<[log][timestamp]>%{YEAR}-%{MONTHNUM}-%{MONTHDAY}%{SPACE}%{TIME}) %{NOTSPACE:[LOG][LEVEL]} %{GREEDYDATA:[log_message]}"
        ,

          "\[(?<[log][timestamp]>%{YEAR}-%{MONTHNUM}-%{MONTHDAY}%{SPACE}%{TIME})\] %{GREEDYDATA:[log_message]}"
        ,

          "(?<[log][timestamp]>%{YEAR}-%{MONTHNUM}-%{MONTHDAY}%{SPACE}%{TIME}) %{GREEDYDATA:[log_message]}"
        ,

          "(?<[log][timestamp]>%{MONTHNUM}-%{MONTHDAY}-%{YEAR}%{SPACE}%{TIME}) %{GREEDYDATA:[log_message]}"
        ,

          "%{GREEDYDATA:[log_message]}"


      ]

    }

  }

If break_on_match is true (the default) then grok will go through the patterns in order and stop when it finds one that matches.

1 Like