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'
在 .bashrc
下加入這一段,可以讓 tail 輸出 log 時有顏色
alias tail="_tail_log"
_tail_log() {
"tail" $@ | 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'
}
less
: 通常用來翻找舊的日誌
輸入 F
,也可以實時滾動日誌,就像 tail -f
的效果一樣
在 .bashrc
下加入這一段,可以讓 less 在找 log 時輸出顏色
highlight 整條 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
}
只highlight 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
}
multitail
: 可同時開啟多視窗看 log,適合用在看部署在很多機器上的項目的 log
-cS [color_scheme]
: 可以選擇輸出的 log 的顏色,推薦使用 goldengate,也可自定義(修改/etc/multitail.conf)
-s [column number]
: 設定看 log 時會分成幾個縱列
multitail -s 2 -cS goldengate -l 'ssh [ip] "tail -100f /example/logs/catalina.out"' -cS goldengate -l 'ssh [ip] "tail -100f /example/logs/catalina.out"'
multitail 開始運作後,點擊 b
,可以選擇要 scroll 的檔案,點擊 q
退出