我的问题是关于 logstash 中的 grok 过滤器。对于 logstash 过滤器,我需要解析一个日志文件。下面的示例日志语句
2017-07-31 09:01:53,135 - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@617] - 已建立会话 0x15d964d654646f4,协商超时对于客户端 /10.191.202.89:56232
我想使用正则表达式解析 [] 之间的语句,但没有成功?从上面那条线
有人可以帮我使用正则表达式吗?
您可以使用
\[(?<threadid>\w+[^/]*/[\d:]+):(?<classname>[^\]@]+)@(?<linenumber>\d+)\]
细节
\[
- 一个字面意思 [
(?<threadid>\w+[^/]*/[\d:]+)
- 组“threadid”:1+ 字字符,然后是 0+ 字符以外的字符/
,/
然后是 1 个或更多数字或:
(请注意,您可以根据需要调整此模式,例如它也可以写成(?<threadid>.*?[\d:]+)
但不会那样安全):
- 一个冒号(?<classname>[^\]@]+)
- 组“classname”:1 个或多个字符,而不是]
和@
@
- 一个@
字符(?<linenumber>\d+)
- 组“linenumber”:1 位或更多位\]
- 一个字面意思]
。grokdebug.herokuapp.com 上的在线测试结果:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句