首页 > 其他分享 >ggrep让多行日志-无处遁形!

ggrep让多行日志-无处遁形!

时间:2024-01-26 09:33:25浏览次数:19  
标签:OkHttpUtil 遁形 grep -- ggrep print 日志

相信大家都很喜欢用grep指令,查一下项目中有没有出错的,然后通过logid搜索相关出错的日志和一些关键参数,但是在多行日志的情况下就很难处理了,比如okhttp拦截器中分别打印了url,param和response,然后你想统计一下有多少成功的,有多少失败的,发现就比较难了。

解决这个问题的方法,大多数选择在打印日志的时候做处理,把所需要的日志打印到一个行上,但是可能body中的json有换行,或合并后的日志过长,对阅读性增加了更多挑战。能解决但不优雅!今天给大家推荐一个新的方法,ggrep指令!

ggrep是group grep的缩写,意思是将数据分组匹配。然后可以通过多个表达式匹配指定的日志数据。

ggrep指令安装:
gitee:

/bin/bash -c "$(curl -fsSL https://gitee.com/bobby96333/ggrep/raw/main/install.sh)"

or github

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/lingdor/ggrep/HEAD/install.sh)"

or 源码安装

git clone https://github.com/lingdor/ggrep.git
go build ./
sudo cp ggrep /usr/local/bin/

CASE1: 对okhttp的多行数据url,param和response过滤输出:

ggrep --smart-logid --grep 'OkHttpUtil print: --> POST' --grep 'OkHttpUtil print: {' --grep 'OkHttpUtil print: {"return_code' --orderly-match --color always *.info |head

CASE2 对多行日志进行并行,然后可以通过awk,grep,wc等脚本进行二次处理

ggrep --smart-logid --grep 'OkHttpUtil print: --> POST' --grep 'OkHttpUtil print: {' --grep 'OkHttpUtil print: {"return_code' --orderly-match --merge-lines --color always *.info |head

CASE3 将整组数据打印:

ggrep --smart-logid -grep 'OkHttpUtil print: --> POST' --print-group *.info |head -n 100

CASE4 并行处理

./ggrep --smart-logid --grep 'LOG1' --grep 'LOG2' --full-match --parallel-count 0 --color always ./demo/demo.log

CASE5 多条件and匹配

ggrep 
./ggrep --smart-logid --grep 'LOG1' --grep 'LOG2' --full-match --color always ./demo/demo.log

输入:

20240119 LogId[111] LOG1
20240119 LogId[111] LOG2
20240119 LogId[111] LOG3
20240119 LogId[111] LOG2
50240119 LogId[222] LOG1

输出:

20240119 LogId[111] LOG1
20240119 LogId[111] LOG2

标签:OkHttpUtil,遁形,grep,--,ggrep,print,日志
From: https://www.cnblogs.com/a-xu/p/17988596

相关文章

  • 企业级微服务项目实战《学成在线》学习日志(二)
    下面正式开始开发!课程查询开发习惯从底层开始,所以就从DAO层(mapper层)开始写,再写service。先在content-service写个测试类,配置和包看黑马的去。介绍下以前学过的分页查询插件courseBaseMapper,实质上就是在sql语句上加上limit等语句,可以看下测试类的代码:@SpringBootTestpublic......
  • boss老虎的机制以及其他boss的工作日志
    1.Enegy每次技能所消耗的体力2.Angry老虎收到攻击,以及未攻击到敌人会增加怒气3.angry增加致一定比例,那么该enegy消耗增加,而技能冷却缩短4.当老虎血量下降到一定的比例,会触发大招等技能老虎转向有问题:√跳跃一定要跳到玩家面前替换解决方案(跳跃+移动)老虎跑到玩家吗,面前时......
  • Nginx日志检测分析工具 - WGCLOUD
    WGCLOUD可以对Nginx的日志文件进行全面分析,包括IP、sql注入、搜索引擎蜘蛛爬取记录、HTTP响应状态码、访问量最高的IP统计、扫描统计等效果如下图......
  • (十六):ELFK日志收集系统
    1、环境准备1.1、安装部署ES参考:(二):ElasticSearch环境安装。1.2、安装部署FileBeat参考:(十五):FileBeat。1.3、安装部署Kibana参考:(三):Kibana安装。1.4、安装部署Logstash参考:(十三):Logstash安装。2、配置1.1、FileBeat配置修改filebeat.yml配置如......
  • 【精品教程】如何查看iOS崩溃日志
    简介当一个应用程序崩溃,会产生一个崩溃报告(crashreport),并存储到设备中。崩溃报告描述了应用程序崩溃的条件,通常包含每个执行线程的完整回溯。查看崩溃报告可以帮助我们了解应用程序的崩溃情况,并尝试修复问题。符号化崩溃报告崩溃报告需要进行符号化(symbolicated),才能够进行分析......
  • IIS日志——统计IP访问次数的一种方法
    配置IIS网站的日志如果没有显示日志功能,到添加删除程序添加windows功能  下载进行日志分析的两个工具LogParser(命令行工具),下载地址:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=24659LogParserStudio(图形化工具),下载地址:http://gallery.techn......
  • Logback排除指定包/类/方法日志输出
    排除指定包/类/方法日志输出如下为logback.xml的配置<springProfilename="pro"><appendername="BUSINESS_API"class="ch.qos.logback.core.rolling.RollingFileAppender"><file>/data/log/${projectName}/api_${p......
  • k8s - Promtail 重写日志标签名
    1.Promtail重写日志标签名默认Promtail会导出Pod中的一些元数据,可以通过访问Promtail的web界面,获取可以拿到的原始标签#获取promtailPod的PodIP地址kubectlgetpo-A-owide|greppromtail#输出#lokipromtail-s2c2x......
  • 通过日志恢复MSSQL数据例子
        这段时间看了关于在SQLserver中通过日志和时间点来恢复数据。也看了一些网上的例子,看如何通过日志来恢复数据。    前提条件:数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项如果是简单模式:“完整”   测试环境:          1,建立数据......
  • 配置日志文件达到一定大小自动压缩
    1工具的安装apt-getinstalllogrotate2修改配置文件在/etc/logrotate.d目录下创建一个新的logrotate的配置文件,touch myapp.conf在该配置文件中添加以下内容:/path/to/your/logfile{size10M#设置日志文件最大大小为10MBrotate5#保存5份日志文件comp......