【发布时间】:2019-12-27 10:58:41
【问题描述】:
我有一个类似的字段,名为 problem:
java.lang.NullPointerException: null\\n09:56:49.712 pl.com.agora.api.client.rest.invocation.FutureCallbacksSupport {HttpClient@2052321524-scheduler} ERROR : Uri invocation failure callback failed.
我想从中排除异常。
(?<exception>java(.*)Exception\z)
所以我会有字段 exception 的值:java.lang.NullPointerException
似乎找不到可行的行尾。 \z 或 \Z 没有像我想要的那样工作。 在这里也没有找到答案:https://github.com/stedolan/jq/wiki/Docs-for-Oniguruma-Regular-Expressions-(RE.txt)
在logstash和grok匹配中使用:
filter {
grok {
match => { "message" => '%{TIME:timestamp} (\[)?(%{DATA:logger})?(\])? \{%{DATA:thread}\} %{LOGLEVEL:level} : (?<problem>(.|\r|\n)*)' }
remove_field => ["message"]
}
grok {
match => { "problem" => '(?<exception>java(.*)Exception\z)' }
}
}
【问题讨论】:
-
请编辑您的问题以包含您拥有的完整正则表达式以及您如何使用您编写的正则表达式。
-
嗨@Progman。到目前为止,这是我拥有的第二个和整个正则表达式。它将用于 elasticsearch 和 logstash
-
@MartaZagrajek 标记
\z、\Z和$用于查找输入字符串中的行尾或内容结尾,但您的正则表达式不使用其中任何一个令牌。请edit您的问题包含您想要做什么以及您如何在应用程序/代码中实际使用正则表达式的详细描述。 -
@Amadan 但您可以在 grok 中使用 Oniguruma 模式。我从中删除了 \z 但现在添加了它
标签: regex logstash logstash-grok