This is how my log looks like:
2020-03-06 09:41:13.756480168 re0:ndp:18310 NDP_TP_NDP_MSG Function = "NdpIRBNhMapHandler", message = "NdpIRBNhMapHandler Entered"
2020-03-06 09:41:13.756485401 re0:ndp:18310 lltp_debug message = "NDP-DBG:NdpIRBNhMapHandler:381:: NdpIRBNhMapHandler Entered"
2020-03-06 09:41:13.770434539 re0:ndp:18310 BQEvents_BQ_OBJ_EVENT Guid = 893353199931, Op = "USER DEL CB", Obj = 0x7F6B8FE9DB00, Type_info = "AddrResolveReq"
This is the filter that i have written:
pattern_definitions => { "mssg" => "((Msg|message|Message|message1|message2) [=])" }
match => {
"message" => ["%{TIMESTAMP_ISO8601:timestamp} %{WORD:node}:%{WORD:program}:%{INT:pid} %{WORD:tracetype}.*%{mssg} \"%{GREEDYDATA:Message}\""]
}
But this works only for the logs with "message".
The Function and message fields do not occur in all the logs. How can i write filters to match multiple patterns?