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

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" 表示 traceId

less -N test.txt | grep "traceId" | grep "关键字"

 
 


http://www.kler.cn/a/508775.html

相关文章:

  • IM聊天学习资源
  • WebSocket实现分布式的不同方案对比
  • centos 安全配置基线
  • 鸿蒙UI(ArkUI-方舟UI框架)-开发布局
  • AAPM:基于大型语言模型代理的资产定价模型,夏普比率提高9.6%
  • Linux查看日志命令
  • StyleGaussian: Instant 3D Style Transferwith Gaussian Splatting 论文解读
  • 如何将本地电脑上的文件夹设置为和服务器的共享文件夹
  • 基于Flutter的物联网后台系统
  • C++ ——— string类oj题:字符串中的第一个唯一字符
  • 从零开始,掌握Django Web开发
  • 软件测试 —— Selenium常用函数
  • 软件测试—接口测试面试题及jmeter面试题
  • 【UE5.3】UnrealLink 安装:fix Detected compiler newer than Visual Studio 2022
  • 如何使用策略模式并让spring管理
  • MySQL无限极分类表设计:实战项目中的高效解决方案
  • npm介绍
  • 汽车免拆诊断案例 | 2007 款法拉利 599 GTB 车发动机故障灯异常点亮
  • JSON数据格式转换
  • 使用C语言实现栈的插入、删除和排序操作
  • thinkphp8.0 likeadmin 框架添加API 文档自动生成工具 apidoc支持
  • QT信号槽 笔记
  • Apache Web服务器技术指南 - 基于Kylin麒麟操作系统
  • 【1】认识思科无线控制器
  • WebSocket——推送方案选型
  • Windows 11开发深度实践:从零开始构建一个功能丰富的UWP应用