昨天看到教練在終端里面看日志箍镜。在xshell里面字體竟然只設(shè)置成9號源祈。真是要瞎了我的鈦合金狗眼了。
其實(shí)字體設(shè)置的小色迂,不見得信息量更多香缺。
那么技巧1就是把字體調(diào)大。調(diào)成14或者16歇僧。
另外看日志的時候其實(shí)更關(guān)注的是模式图张,也就是pattern。這是個什么意思呢诈悍,我們有個服務(wù)祸轮,每次升級完之后就看是關(guān)注日志,看有木有大量異常拋出來侥钳,要有就有問題了适袜,所以其實(shí)不是具體關(guān)注到行,而是看這個模式有沒有變化舷夺。
另外日志其實(shí)一直用tailf盯著也看不出啥花來痪蝇”啥福可不可以標(biāo)注出更多有用的信息呢。比如顏色躏啰。因?yàn)槿罩纠锩嫫鋵?shí)關(guān)注的是一些特定的信息趁矾。比如關(guān)鍵詞。
放狗一搜给僵,果然有毫捣,從高大上的一體式解決方案到比較簡陋的腳本方式。
簡陋的方法
最簡單的帝际,只要 terminal 支持 ANSI escape sequences蔓同,那么就能支持色彩。不同的顏色是不同的序列蹲诀。只要把關(guān)鍵詞傳到管道里面再用這個序列包裹一下斑粱,就是彩色的了。
比如 awk, sed, perl
都行
awk
tail -f /path/to/log | awk '
/INFO/ {print "\033[32m" $0 "\033[39m"}
/SEVERE/ {print "\033[31m" $0 "\033[39m"}
'
sed
tail -f /path/to/log |
sed -e 's/\(.*INFO.*\)/\o033[32m\1\o033[39m/' \
-e 's/\(.*SEVERE.*\)/\o033[31m\1\o033[39m/'
perl
tail -f catalina_2016-03-29.log | perl -pe 's/(your_word)/\e[1;31m$1\e[0m/g'
如果你在偷懶一點(diǎn)脯爪,封裝上面的那個代碼成一個shell的函數(shù)则北,放到bashrc里面去
那么以后就能這么調(diào)用
tail_color catalina_2016-03-29.log your_word
高大上的方法
現(xiàn)成的工具也很多
這里推薦的就沒重樣的:
http://unix.stackexchange.com/questions/8414/how-to-have-tail-f-show-colored-output
- grc, the generic colouriser is pretty cool
- ccze , http://pwet.fr/man/linux/commandes/ccze
- rainbow痕慢, https://github.com/nicoulaj/rainbow
- lnav尚揣,http://lnav.org/
其中集大成者為lnav。
效果圖:
不過對于這個花花綠綠的審美我持有保留意見掖举,感覺過猶不及啊快骗。我猜張雨綺老師的設(shè)計師可能是lnav
的愛好者 :) 。
之前試用過一下塔次,這一直接按照一天具體哪個小時方篮,哪個分鐘段跳轉(zhuǎn)。還有一些書簽励负,搜索等等恭取。
更詳細(xì)的可以看看這個doc
http://lnav.readthedocs.io/en/latest/hotkeys.html
不過最大的問題在于服務(wù)器上能否讓你裝個程序,當(dāng)然其實(shí)直接丟個二進(jìn)制上去也是可以的熄守。
另外比如云計算100多節(jié)點(diǎn)蜈垮,每個節(jié)點(diǎn)打日志,一個個搜過來也是麻煩裕照,這時候這種單機(jī)版的就hold不住了攒发,是時候出動elk
了。