现在有日志内容
[2018-07-09 11:30:59] [13968] [INFO] [1e74b6b7-fcb2-4dde-a259-7db1de0350ea] run entry() 11ms
[2018-07-09 11:30:59] [13968] [INFO] [1e74b6b7-fcb2-4dde-a259-7db1de0350ea] entry done
第一行是记录函数执行时间,第二行是其他普通的 log,现在想要用 grok 匹配所有的日志,且当遇到以 NUMBER+ms 结尾的行我要提取这个时间
现在写的 pattern 要么只能匹配第一行 要么只能匹配第二行 不知怎么可以同时匹配两行,请教下大家。
我想的是这样的
\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{NUMBER:process_id}\] \[%{LOGLEVEL:loglevel}\] \[%{UUID:request_id}\] %{DATA:message}(\s%{NUMBER:use_time}ms)?
但是这样结果是
{
"process_id": "13968",
"loglevel": "INFO",
"message": "",
"request_id": "1e74b6b7-fcb2-4dde-a259-7db1de0350ea",
"timestamp": "2018-07-09 11:30:59"
}