几种常用的日志查询操作:
文件较小
vim xxx.log
直接检索即可
文件较大
我们就需要不打开文件,定位到其中的某个关键日志grep "ERROR" xxx.log
如果需要显示 关键日志 的上下文,如果知道大概行数可以使用,以下3种方法:
-A NUM,--after-context=NUM
显示匹配项之后多少行-B NUM,--before-context=NUM
显示匹配项之前多少行-C NUM,--context=NUM
显示匹配项上下文多少行# 例如 grep -C 10 "ERROR" xxx.log
如果不知道上下文行树,需要定位到之后,跟踪检查后续日志,可以如下操作
# 先使用-n 参数显示行号
grep -n "ERROR" xxx.log
# 使用more 命令显示跳转到定位行, 比如第891行
more +891
# 之后可以enter换行,空格换页,或者 `/`来检索之后的日志,`n`下一个
小技巧:
- 压缩包
一般来说,数据库都会使用压缩包来减少日志磁盘占用。
可以使用zcat
、zgrep
、zmore
等来替代 多个日志
多个文件 可以使用 通配符来 处理文件名,例如:grep "ERROR" job.log.2021-05-18.*.gz
日志名排序
有时候多个日志的时候,xxx.21.gz的日志会在xxx.2.gz前面。而我们更希望他们按照数字大小排序ls -v job.log.2021-05-18.*.gz|xargs zgrep "ERROR"
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。