提问要多花一点心思哦

截取出一条日志信息的的日志级别(INFO、ERROR之类),有个定位不准的问题求教

Logstash | 作者 couragelanshen | 发布于2018年08月06日 | 阅读数:2627

有一条这样的日志内容,业务日志
INFO |2018-08-06 15:55:05.310|[main]|helloword.Application.main.  31||{java.lang.String:出参99,}|{java.lang.String:入参99}|第 99 条日志来自于helloword工程|
 
每段内容用“|”分开,第一段是日志级别,这是规定好的,但是在后面中,不能确保不会人为的打印出跟日志级别相同的单词(error,info之类的),我现在logstash中的filter用  grok { match => { "message" => "%{LOGLEVEL:logLevel}" } },LOGLEVEL是logstash自身自带的pattern,去找到日志级别,但是我感觉会出问题,可能出现上面说的人为的打印出了业务信息的内容包含了日志级别的那种单词,想请教下,大家有啥好方法?
 
已邀请:

couragelanshen

赞同来自:

有伙伴们可以交流下吗

heyddo

赞同来自:

你的业务日志肯定有一个较为固定的格式吧,match中的正则多写一些,将匹配的范围缩小就能减少人为打印日志的干扰。

zqc0512 - andy zhou

赞同来自:

grok 可以匹配*的样。
不过建议 把数据格式定死。 这样少出纰漏。
 

要回复问题请先登录注册