stdout log日誌即時高亮顯示

來源:互聯網
上載者:User

開發調試stdout log日誌即時高亮顯示

高亮顯示

其實就是把特定的關鍵詞搜尋出來替換為 ANSI escape code

  1. 正則替換, perl -pe 's/<pattern>;/<replacement>;/g'
  2. egrep 關鍵詞替換 egrep "fatal|error|warning|info|debug" -A10 -B10 --color=auto
perl 的方式可以指定不同的關鍵詞不同的顏色,egrep 自訂色彩估計很麻煩。

配合linux管道 實際測試

建立一個文字檔

vim test.txt
輸入如下內容:

errorxxxxbbbwrfatalinfodebugdkjkinfoerrorwarninginfoinfo

perl -pe 正則替換關鍵詞

cat test.txt  | perl -pe 's/(fatal)/\e[0;41;37m$1\e[0m/g; s/(error)/\e[1;31m$1\e[0m/g; s/(warning)/\e[1;33m$1\e[0m/g; s/(info)/\e[1;32m$1\e[0m/g; s/(debug)/\e[1;34m$1\e[0m/g; s/(wechat)/\e[1;35m$1\e[0m/g'

效果:

egrep

cat test.txt | egrep  "fatal|error|warning|info|debug" -A10 -B10 --color=auto

效果:

stdout log 處理

我們以 golang程式為例

go test -v  | egrep "fatal|error|warning|info|debug" -A10 -B10  --color=autogo test -v | perl -pe 's/(fatal)/\e[0;41;37m$1\e[0m/g; s/(error)/\e[1;31m$1\e[0m/g; s/(warning)/\e[1;33m$1\e[0m/g; s/(info)/\e[1;32m$1\e[0m/g; s/(debug)/\e[1;34m$1\e[0m/g; s/(wechat)/\e[1;35m$1\e[0m/g'
go run main.go | ... 跟上面一樣處理。 golang有一個這個包github.com/fatih/color,可以直接在程式中就這樣子輸出,用了一段時間,感覺日誌還是只做日誌的事情,不要搞得花裡胡哨的,要 review 日誌的時候,用這兩種方式來過濾, 或者丟到 ELK裡面去。

這個就不貼圖了,跟用tail -f -n 50 /usr/local/var/postgres/log/postgresql-2018-05-24_000000.log | egrep "STATEMENT|LOG" -A10 -B10 --color=auto 以及上面的 cat 效果都是一樣的。

終端控制台字型顏色

echo -e "\033[30m 黑色字 \033[0m"echo -e "\033[31m 紅色字 \033[0m"echo -e "\033[32m 綠色字 \033[0m"echo -e "\033[33m 黃色字 \033[0m"echo -e "\033[34m 藍色字 \033[0m"echo -e "\033[35m 紫色字 \033[0m"echo -e "\033[36m 天藍字 \033[0m"echo -e "\033[37m 白色字 \033[0m" echo -e "\033[40;37m 黑底白字 \033[0m"echo -e "\033[41;37m 紅底白字 \033[0m"echo -e "\033[42;37m 綠底白字 \033[0m"echo -e "\033[43;37m 黃底白字 \033[0m"echo -e "\033[44;37m 藍底白字 \033[0m"echo -e "\033[45;37m 紫底白字 \033[0m"echo -e "\033[46;37m 天藍底白字 \033[0m"echo -e "\033[47;30m 白底黑字 \033[0m"

詳細說明:

\e[F;B;Om

\e 逸出字元開始,ESCASCII 碼用十進位表示就是 27,等於用八進位表示的 033

  • \e\033 聲明了逸出序列的開始
  • [ 開始定義顏色。
  • F 為字型顏色,編號30~37
  • B 為背景色,編號40~47
  • O 為特殊意義代碼
  • 它們的順序沒有關係。
  • m 是標記
  • m 後面不用跟空格,是所定義的彩色字和背景

顏色表

    前景 背景顏色    -------------------------    30 40 黑色    31 41 紅色    32 42 綠色    33 43 黃色    34 44 藍色    35 45 洋紅     36 46 青色    37 47 白色    特別代碼意義    -------------------------    0 OFF    1 高亮顯示    4 underline    5 閃爍    7 反白顯示    8 不可見

參考資料:

  • 讓log中的關鍵詞過濾的酷炫
  • 控制台輸出顏色控制(Console 模式下的顏色顯示)
  • Perl中Regex用法總結
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.