如何快速分析日志

119 阅读2分钟
  1. 获取文件中的关键字key: cat fileName | grep "key"

  2. 获取文件中的关键字key 将搜索结果输出到指定文件: cat fileName | grep "key" > out.log

注:关键字是 某一天 或某天某小时,会截取当天或那个小时的日志,输出到指定文件

  1. 获取文件中的某个关键字key1, key2, key3: cat fileName | grep -E "key1|key2|key3"

  2. 获取文件中的某个关键字key1, key2, key3 并展示关键字所在行 前后5行: cat fileName | grep -E "key1|key2|key3" -C 5

注: -B 5 //之前5行 -A 5 //之后5行 关键字 和 "|" 之间不可以有空格,否则会匹配不到。

less 查看日志,并且搜索
注:less导航 搜索关键词时 是从底部往前面搜索!!! 导航:

G - 移动到最后一行

g - 移动到第一行

q - 退出 less 命令

less查看后搜索 和 搜索后导航:

按'/' 之后输入要搜索的词,就会把所有的关键词高亮 或者 ?要搜索的字符【用通配符?开始查找】

n(小写字母n)上一个关键字位置

N(大写字母N)下一个关键词位置】

ctrl + F - 向下移动一屏

ctrl + B - 向上移动一屏

Linux下 查看指定时间段的日志:

sed -n '/2020-07-21 11:58:00/,/2020-07-21 12:05:50/p' out.log sed -n '/开始时间/,/结束时间/p' out.log

注意:这里的starttime和endtime都必须是日志文件中存在的

如何判定他们存在呢?命令:

grep '2018-08-15 10:37:32' catalina.out

查看关键字前后两百行,并高亮关键字

cat ideasProxy.log | grep 'Requesting EAS to registing is exception' -C 200 | perl -pe 's/(Requesting EAS to registing is exception)/\e[1;34m$1\e[0m/g'