脚本宝典收集整理的这篇文章主要介绍了日志解析--ldetool,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
使用grok解析日志做字段拆分,性能上可能存在问题,尝试使用ldetool,与grok做下对比。
下载压缩包:[ldetool](https://gIThub.COM/sirkon/ldetool)
使用idea打开
当前目录是 **D:webworkldetool**
项目里已存在的demo是上图中红框所示的三个文件,下面按照README.md的步骤进行生成自己的demo,以便更容易熟悉其逻辑。
首先解决go mod的报错
直接删除go.mod里有关github.com/sirkon/gosrCFmt的配置即可README.md有下面一段话
First write extraction script, we usually name it `<something>.lde`
……
The recommended way is to put something like `//go:generate ldetool -- package main Line.lde` in `generate.go` of a package and then generate a code with `go generate <PRoject path>`
所以新建一个文件,如line.lde,填写以下内容
Line =
^'[' Time(string) ']'
^" FETCH "
^"first[" First(uint8) ']'[1]
^" format[" Format(string) ~']'
?Hidden (^" hidden[" Value(string) ']')
^" userAgent[" UserAgent(string) ']'
_ "country[" Country(string) ']'
;
匹配的日志内容如下:
[2017-09-02T22:48:13] FETCH first[1] format[JSON] hidden[0] userAgent[AndROId App v1.0] rnd[21341975] country[MA]
[2017-09-02T22:48:14] FETCH first[0] format[JSON] userAgent[Android App v1.0] rnd[10000000] country[LC]
具体语法可以查看TOOL_RULES.md
新建文件line.go,填写如下(包含双斜杠):
//go:generate ldetool --package main line.lde
terminal执行命令go generate D:webworkldetool
,出现如下错误
编写gotest,日志内容是[2017-09-02T22:48:13] FETCH first[1] format[JSON] hidden["1"] userAgent[Android App v1.0] rnd[21341975] country[MA]
以上是脚本宝典为你收集整理的日志解析--ldetool全部内容,希望文章能够帮你解决日志解析--ldetool所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。