我在同一个日志文件这三种日志行: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
谢谢!请稍后测试一下 –