日志快速查询(grep用法)
日志查询 grep
一 查找 未知异常,并显示后面 50 行
grep -A 50 '未知异常' a.log
如果异常太多,也可以用less加上分页查看:
grep -A 50 '未知异常' a.log | less
在 less 视图中,可以:
使用 箭头↑↓ 或 Page Up/Down 键来上下滚动
输入 G 直接翻到末尾,方便快速查看最新的日志
输入 /Exception 继续搜索
按 q 键退出
二 实时看新日志
实时监控 a.log 文件的新增内容,并只显示包含 '未知异常' 的行及其后50行
tail -f a.log | grep -A 50 '未知异常'
加 -i 忽略大小写,防止大小写拼错找不到
三 翻历史日志 or 查压缩日志
在当前目录下查找所有以 .log 结尾的文件,-H 参数可以顺便打印出文件名
grep -H -A 50 '未知异常' *.log
其中 -H 会帮你打印出是哪个文件中出现的问题
查找 .gz 文件(压缩日志):
zgrep -H -A 50 '未知异常' *.gz
zgrep 是专门处理 .gz 的 grep,它的功能和 grep 完全一样,无需手动解压,直接开整!
四 统计异常数量(快速判断异常是否频繁)
有时候你需要知道某个异常到底出现了多少次,是偶发还是成灾,使用 grep -c(count):
grep -c '未知异常' a.log
如果你要统计所有日志里的数量:
grep -c '未知异常' *.log
| 参数 | 作用 |
|---|---|
| -B N | 匹配行之前的 N 行(Before) |
| -A N | 匹配行之后的 N 行(After) |
| -C N | 匹配行上下共 N 行(Context) |
| -i | 忽略大小写 |
| -H | 显示匹配的文件名 |
| -r | 递归搜索目录下所有文件 |
列如:
grep -C 25 '未知异常' a.log
docker 容器日志常用查询
docker logs --tail 1000 -f c4e5164fda8d | grep -C50 '未知异常'
浙公网安备 33010602011771号