当前位置: 首页 > news >正文

Linux查看日志命令

问题排查过程:

1. 评估问题现象是否是操作问题,还是服务bug,页面出异常信息是后端,没抛异常信息有可能是前端渲染问题,F12抓包看那个字段没有数据(有时候需要前端帮忙确定是哪一个字段),没有数据是后端。

2. 根据url定位代码。

3. 根据代码打印的日志,查找日志输出 (遵循 “从外到内,从头到尾”,比如又try-catch 先看catch是否异常,没有异常再从头到尾一步一步地排查内部日志)。

首先cd 进入服务容器里文件所在目录

1. cat 命令 适合查看简短的文件,如配置文件 application.properties,当然也可以看日志

#看配置文件
cat application.properties#看运行日志文件
cat xxx.out#配合检索命令
cat application.properties | grep xxx

2. tail -f 命令,实时监控,一般用于触发异常接口,查看报错信息(好用)

#最后100行tail -f xxx.out
或者
tail -f -n 100 xxx.out
或者
tail -f -n 100 xxx.out | grep 关键字退出
Ctrl + c

3. vi + / (推荐)

vi xxxx.out#跳转最后一行
shift + g 或者大写G#跳转指定某行,如第一行
:1#进入关键字的搜索模式
/ERROR 或者/Exception 或者/TraceID  或者/其它#遍历所有检索出来的关键字
n#退出
:q

 4. grep (推荐,推荐)

#只显示关键字所在行
grep "关键字" xxx.log#显示关键所行的上下20行
grep -C20 "关键字" xxx.log#匹配多个关键字并显示行号
grep -E -n "word1|word2|word3" xxx.log#检索某个目录下所有 ".log" 文件 (使用场景:检索归档的日志)
grep -C15 -n "关键字" /a/b/c/*.log-c:显示匹配次数
-i:忽略大小写
-n:显示行号
-C:环绕行数
-v:显示没有匹配关键字行

5. less + / (强烈推荐)

less xxxx.out#进入关键字的搜索模式
/ERROR 或者/Exception /其它#跳转指定某行,如第一行
:1向下滚动一行: 按 ↓ 或 Enter
向上滚动一行: 按 ↑ 或 k。
向下滚动一页: 按 f  或空格键 
向上滚动一页: 按 b 
滚动到文件末尾: 按 G(大写的 G)
滚动到文件开头: 按 g(小写的 g)#遍历所有检索出来的关键字
n#退出
:q#显示行号
less -N xxxx.out# less与vi的区别是 vi要加载整个日志,less是分页的性能会比vi高,但服务亲的日志一般会按设置归档,一般不会太大的,使用vi也是可以的,就是退出时候不要保存修改就好。

补充:less + grep 高级用法 

#先根据MDC的链路id (traceId 一般是uuid,也有其它id工具生成的唯一id) 调出只关于某次请求所有日志,然后再根据检索代码的关键字
#下图例子没有traceId,我使用"c.n.c" 表示 traceIdless -N test.txt | grep "traceId" | grep "关键字"

 
 

http://www.lryc.cn/news/522414.html

相关文章:

  • (8)ERC20详细介绍
  • opencv projectPoints函数 computeCorrespondEpilines函数 undistortPoints函数
  • springboot集成websocket实现实时大量数据,效率性能高
  • 游戏引擎学习第80天
  • Windows 上的 MySQL 8.4.3 和 WSL(Ubuntu)的 MySQL 8.0.40 之间配置 主从同步
  • 【狂热算法篇】探秘图论之 Floyd 算法:解锁最短路径的神秘密码(通俗易懂版)
  • Sentinel配置流控规则详解
  • 解锁动态规划的奥秘:从零到精通的创新思维解析(6)
  • Qwen2.5 3B、7B、14B在文本按照规范进行标准化改写任务上的表现
  • Oracle报错ORA-01078、LRM-00109
  • 免费为企业IT规划WSUS:Windows Server 更新服务 (WSUS) 之快速入门教程(一)
  • Titans 架构中的记忆整合:Memory as a Context;Gated Memory;Memory as a Layer
  • 无缝过渡:将 Ansys 子结构模型转换为 Nastran
  • 小哆啦的跳跃挑战:能否突破迷宫的极限?
  • KubeSphere部署安装,接入KubeKey安装的k8s集群
  • Object常用的方法及开发中的使用场景
  • SQL2000在win10上安装的方法
  • Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口
  • Java语言的数据结构
  • 【12】Word:张老师学术论文❗
  • 大疆最新款无人机发布,可照亮百米之外目标
  • 《小迪安全》学习笔记05
  • 56_多级缓存实现
  • 每日进步一点点(网安)
  • 宝塔php7.4安装报错,无法安装,php8以上可以安装,以下的不行,gd库什么的都正常
  • SDL2:PC端编译使用
  • Windows 蓝牙驱动开发-蓝牙设备栈
  • docker一张图理解
  • RocketMQ、Kafka、RabbitMQ,如何选型?
  • RabbitMQ故障全解析:消费、消息及日常报错处理与集群修复