乐趣区

关于linux:日志文件错误排查

几种罕用的日志查问操作:

  • 文件较小

    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` 下一个

小技巧:

  1. 压缩包
    一般来说,数据库都会应用压缩包来缩小日志磁盘占用。
    能够应用 zcatzgrepzmore 等来代替
  2. 多个日志
    多个文件 能够应用 通配符来 解决文件名,例如:

    grep "ERROR" job.log.2021-05-18.*.gz
  3. 日志名排序
    有时候多个日志的时候,xxx.21.gz 的日志会在 xxx.2.gz 后面。而咱们更心愿他们依照数字大小排序

    ls -v job.log.2021-05-18.*.gz|xargs zgrep "ERROR"
退出移动版