此文是继上文如何在服务器看日志的续集。之所以我觉得自己很菜,是因为我的周围都是大佬,他们都是值得我学习的对象。
通常大家看日志,无非两种,一是more命令,一是tail命令,其中的过程要么是翻页查看,要么就是在线看,等待着日志中出
现某种状况。但是大家一般是系统出现问题的时候,才去服务器看日志。那么假如你已经预知在出现问题的那一刻会打印什么
样的日志,那么你还需要去翻页查看日志吗?
或许我们还有别的方式去查找日志文件内容。下面介绍一下我常用到的几种(more,less,tac,
)more
使用more命令查看日志文件
more nohup.out
然后按下 / ,并在斜杠后输入你要查找的内容,按下回车开始查找
more 命令是从前往后翻阅日志的,如果从后往前翻,可以和 tac 命令结合使用。
tac nohup.out | more
less
与more命令类似,支持向前翻页。效率比more高
less nohup.out
同样支持按下 /,在斜杠后输入查找内容回车开始查找
grep
使用grep命令查看日志文件,格式为 grep '要查找的内容' 要查找的文件
grep '123456' nohup.out*
grep命令通常可以和管道命令结合使用
grep 'uuid' nohup.out* | grep '接收参数' | grep 'OAAS-ES'
支持拓展,同时搜索两种关键字(或关系)
grep -E "ERROR|WARN" nohup.out
-E或--extended-regexp 将范本样式为延伸的普通表示法来使用
假如想要查找和日志内容相关的前后两行,可以这样写
grep -B1 -A2 "loadRedisCache" nohup.out
grep的A(after,后)选项和B(before,前)选项可以同时输出其匹配行的前后几行
wc
统计符合条件的行数
cat nohup.out* | grep '请求参数' | wc -l
或者
cat logs* | grep -c '请求参数'
ok,就先介绍到这里,下次如有新见解,再来补充、
最后修改于 2020年5月4日 19:41:55