我在同一個日誌文件這三種日誌行:logstash grok - 如何進行條件模式匹配?
INFO [2015-08-27 18:46:14,279] ({qtp243745864-44} NotebookServer.java[onMessage]:101) - RECEIVE << RUN_PARAGRAPH
INFO [2015-08-27 18:46:14,322] ({qtp243745864-44} NotebookServer.java[broadcast]:253) - SEND >> NOTE
INFO [2015-08-27 18:46:16,809] ({pool-1-thread-2} RemoteInterpreter.java[init]:144) - Create remote interpreter org.apache.zeppelin.markdown.Markdown
我想他們PARS使用神交,但未能得到正確的字段: 1)如何收杆括號內的數據? 2)日誌行的最後部分是任一(CMD方向cmd_data)或在實施例(CMD信息) :
cmd=Receive or SEND
cmd_direction=<<or>>
cmd_data=RUN_PARAGRAPH or NOTE
但最後一行是CMD信息不對應於相同的格式。
我想找到匹配第一個和第二個但不是第三個的正確規則。 最終結果應該是(cmd + cmd_data)或(cmd_info)字段 有什麼幫助嗎?
Can這是在正則表達式上完成的?例如如果([mesage] =〜/(^ \ S + <<^\ S + |^\ S + >>^\ S +) –
您可以使用帶if的正則表達式,但是'^'放置錯誤 - 它的(\ S +(<<|>>)\ S +)' – Alcanzar
謝謝!請稍後測試一下 –