软件测试基础性能测试测试开发那些事儿

使用grep命令或notepad++ 快速搜索日志的实用技巧

2021-11-11  本文已影响0人  测试开发Kevin

在做测试时,我们经常会遇到日志分析的统计工作,那么如何高效的完成日志分析功能呢?这里以统计研发同学应用日志中的api耗时情况为例进行讲解。

通常思路如下:

1.利用shell脚本搜索(服务器端直接搜索日志,以grep命令为例)

2.编码解析(不在本文讨论范围)

3.通过文本编辑器搜索(windows 系统中搜索日志,以notepad++为例)

需求1:模拟统计日志中消耗时长在300ms左右的日志记录个数

NotePad++

搜索>查找

选中底部的“正则表达式”,输入正则3\d{2},点击右侧的计数,即可统计到搜索结果。

其中\d 在正则表达中表示数字,{2}表示出现两次,\d{2}表示任意两位数,加上前面的3则表示以3开头的任意三位数。

shell脚本

使用下面的脚本可以轻松统计出上述文档中查找结果出现的次数

grep -o '3[0-9]\{2\}' test.log |wc -l

结果显示 1

这里需要注意一下,shell 正则中不支持\d,因此用[0-9]代替,表示0-9中的任意数字

grep

其中grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

使用grep -o '3[0-9]\{2\}' test.log ,输出结果是

340

grep -o只显示匹配的字符串;如果一行中有多个匹配结果,则会换行输出匹配到的结果 ,如果文档中内容为

time:340,390

使用grep -o '3[0-9]\{2\}' test.log ,输出结果是

340

390

wc -l解释

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

wc -l 是统计行数的含义

管道符“|”

Linux 管道使用竖线|连接多个命令,这被称为管道符,它将前面一个进程的输出直接作为下一个进程的输入。

grep -o '3[0-9]\{2\}' test.log |wc -l 的含义是把grep -o '3[0-9]\{2\}' test.log 搜索到的内容作为wc -l统计内容的输入。

需求2:模拟统计消耗时长在700-900左右日志记录个数

NotePad++

正则表达如下,如果大家想了解更多的正则表达式知识,在网上随意搜索即可

shell脚本

使用下面的脚本可以轻松统计出上述文档中查找结果出现的次数

grep -o '[7-9][0-9]\{2\}' test.log |wc -l

好了,以上就是搜索日志的一些常用技巧,相信大家了解以后,在实际工作中查看日志的效率一定会大幅提升!原创不易,如果你喜欢本文,请帮忙点赞转发!

上一篇下一篇

猜你喜欢

热点阅读