软件下载网站整站源码,网站开发程序制作域名备案,网站推广优化张店,网站开发技术负责那些在服务器接口测试中#xff0c;我们经常会和各种日志打交道。一旦测试时服务端出现了问题#xff0c;而单凭服务端的日志又不能发现问题原因的时候#xff0c;往往开发要向我们测试人员询问客户端这边的情况#xff0c;希望看看我们能不能提供一些有用信息#xff0c;如错… 在服务器接口测试中我们经常会和各种日志打交道。一旦测试时服务端出现了问题而单凭服务端的日志又不能发现问题原因的时候往往开发要向我们测试人员询问客户端这边的情况希望看看我们能不能提供一些有用信息如错误返回内容错误发生时间哪些用例会出现问题等等。这时就需要我们来查找测试时的日志从中筛选出有用的信息。 筛查日志这件事根据情况不同采用的方法也会有所不同。比如日志很小至多几千行这样的情况我们完全可以使用一般的文本编辑器打开直接查找所需内容即可。而像一些“大型”日志尤其是长时间稳定性测试所产生的日志动辄可能会有几个g几十g再用编辑器打开显然不够现实。这时我们可以采用其他的一些查找方法在不打开日志文件的情况下较为快速地进行筛选。下面我就来说说几个经常会使用到的命令(方法)。一、more/less 命令 more和less命令在使用上十分相近都是用分页查看文本的方式每次只显示一定行的文本避免像cat那样被大量的文字快速刷屏同时支持搜索可以在文件中搜索某个关键词并实现定位。more和less有一些细微不同的地方体现在参数设置上。总体而言less似乎更适合对于日志的筛查可以进行向前或向后双方向的搜索并且可以按方向键逐行前后滚动而more只支持向后查找和向后翻页或滚动。 基本命令格式more/less example.log 搜索关键词方法 输入命令后按/输入关键词后回车即可定位至关键词第一次出现的位置此时按n键可切换至下一次出现的位置使用less时按N(shift或大写锁定n)键返回上一次出现的位置。 优点 可以自动定位关键词出现的位置并显示关键词前后的文本内容使用起来比较方便。 缺点 搜索速度较慢文件特别大的话要等很久才能搜索到。 应用举例 查看日志文件从某时刻开始的内容 首先使用more命令打开一个日志文件more 2019-08-05_1.csv 显示结果如下 可以看到日志的内容很多此时我们关注日志中的时间比如我想查看从04:01:00 GMT开始的日志那么就键盘输入/04:01 按下回车就会自动切换至我们想要的位置 可以看到日志内容从04:01开始了。二、grep 命令 grep命令是linux下最好用的命令之一。grep用来筛选内容的速度应该是最快的这点没有之一大到几个g的文件几秒就可以完成对单一关键词的筛取可谓是查找大文件的“神器”而且grep命令格式十分简单常用的搜索功能只需三个参数即可完成。 基本命令格式grep keyword example.log 搜索关键词方法 在keyword位置设置想要搜索的关键词按下回车即可将所有包含该关键词的行显示出来。 优点 快速可批量筛选出含有关键词的全部文本行。 缺点 如果关键词在文本中出现较多无法快速定位至某一次关键词出现的位置依然会出现刷屏效果。 拓展应用 在命令中添加-A-B-C参数可分别获取某关键词出现位置后面、前面、前后n行的内容grep -A|B|C n keyword example.log 应用举例 查看日志文件某时刻起向后10行的内容 使用如下命令grep -A 10 04:01:41 2019-08-05_1.csv 结果显示 可以看到从日志中成功筛选出了04:01:41 GMT时刻后面10行的日志内容比more/less命令搜索速度快了不少而且内容更加简洁只包含这部分的内容信息。三、head/tail 命令 head和tail命令是功能近似而作用位置相反的两个命令head命令用来从开头读取文本tail命令则是从尾部读取文本。当我们不关注日志中间的一大坨内容只关注开头或结尾的部分内容时head和tail命令可以说是最好的解决方案。 基本命令格式head/tail -n example.log 使用方法 设置需要从文件开头/结尾查找的行数(n)即可显示对应结果。 优点 方便实用尤其是tail可以从尾部读取文件。 缺点 单独使用不能查找关键词。 拓展应用 1、head/tail与grep命令结合使用 如果需要从文件开头或结尾一定范围内查找关键词那么head/tail与grep结合使用就再方便不过了使用管道符连接两个命令即可head/tail -n example.log | grep keyword 反过来也可以获取含有某关键词所有行中的前/后n个grep keyword example.log | head/tail -n 2、tail -f 命令 在测试过程中我们有时可能需要监测一下当前日志的输出情况而由于日志在测试程序启动时已经定向到了某个文件没有给到标准输出这时我们可以使用tail -f这个十分简便的命令获取和日志“上屏”相似的效果随着日志文件的不断更新该命令也会将更新的内容给到标准输出同时不影响日志文件的记录tail -f example.log 此外该命令结合grep使用更可以获得实时筛选日志信息的功能将简化版、筛取版的日志记录或输出。 应用举例 查看日志文件前1000行中测试的时间记录 使用如下命令head -1000 2019-08-05_1.csv | grep date 结果显示 可以看到这样准确从日志中筛选出了时间记录。 如此我们还可以进一步拓展命令利用wc -l来统计时间记录的个数完整命令如下head -1000 2019-08-05_1.csv | grep date | wc -l 结果显示 可以看到一共有31个时间记录。结束语 好了以上就是本期介绍的几个在日志筛选方面的实用命令掌握了这些命令从此可以不再惧怕那些个大文件了。有任何想说的话都可以发送内容到“搜狗测试”公众号我们一起聊聊~欢迎添加我们的搜狗测试微信号与我们一起聊聊测试。