Linux - 查看日志的指令 tail、multitail、less

  • tail -f catalina.log : 实时看log,会自动把新增的log直接显示出来

    • 在实时日志上打印颜色,给每个状态给上不同的颜色,INFO绿色、WARN黄色、ERROR红色

      tail -f catalina.out | perl -pe 's/(INFO)/\e[0;32m$1\e[0m/g,s/(WARN)/\e[0;33m$1\e[0m/g,s/(ERROR)/\e[1;31m$1\e[0m/g'
    • 只看ERROR

      tail -f catalina.out | grep "ERROR" --line-buffered | perl -pe 's/(ERROR)/\e[1;31m$1\e[0m/g'
  • multitail : 可同时开启多视窗看log,适合用在看部署在很多机器上的项目的log

    • -cS [color_scheme] : 可以选择输出的log的颜色,推荐使用goldengate,也可自定义(修改/etc/multitail.conf)

      multitail -cS goldengate -l 'ssh [ip] "tail -100f /example/logs/catalina.out"' -cS goldengate -l 'ssh [ip] "tail -100f /example/logs/catalina.out"'
  • less : 通常用来翻找日志

    • 输入F,也可以实时滚动日志,就像tail -f的效果一样

    • .bashrc下加入这一段,可以让less在找log时输出颜色

      • 高亮整条log

        alias less="_show_log"
        _show_log() {
        awk '
        /ERROR/ {printf("\033[1;31m%s\033[0m\n", $0)}
        /WARN/ {printf("\033[1;33m%s\033[0m\n", $0)}
        !/(WARN|ERROR)/ {printf("%s\n", $0)}
        ' $1 | "less" -r
        }
      • 只高亮INFO、WARN、ERROR这种状态

        alias less="_show_log"
        _show_log() {
        awk '
        /ERROR/ {sub(/ERROR/, "\033[1;31mERROR\033[0m")}
        /WARN/ {sub(/WARN/, "\033[1;33mWARN\033[0m")}
        /INFO/ {sub(/INFO/, "\033[0;32mINFO\033[0m")}
        {print}
        ' $1 | "less" -r
        }  

猜你喜欢

转载自blog.csdn.net/weixin_40341116/article/details/81206795