解決策 1:
マルチテールを使用してログを監視しています。これには、色付けと、マージまたはウィンドウでの複数のログファイルの監視が含まれます。試してみてください。
解決策 2:
このようなものを使用できない理由:
tail -f FILE | grep --color=always KEYWORD
ソース: commandlinefu.com
解決策 3:
これを見つけました:http://fixunix.com/unix/83044-tail-color.html
tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'
これは ANSI 端末でのみ機能しますが、他のすべての端末は事実上消滅しています。 \e[...ANSI エスケープ シーケンス SGR "select graphicrendition" はありません。 "..." は、セミコロンで区切られた整数に置き換えることができ、次の意味があります:
0 :すべての属性オフ 1 :太字 31 :前景の赤 43 :背景の黄
もちろん、「キーワード」は任意の perl 正規表現にすることができます:
(foo|bar) 文字列 foo と bar を強調表示\b((foo|bar)\b foo と bar という単語を強調表示\b((foo|bar)\b. foo または bar という単語を含む行全体を強調表示します
または、簡単な方法として colortail
をインストールするだけです おそらくあなたのお気に入りのリポジトリにあります(CentOSの場合はダグ)
http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html
http://joakimandersson.se/projects/colortail/
解決策 4:
grep を組み合わせた小さなスクリプトを使用して、いくつかの色を取得します。
#!/bin/bash
shopt -s expand_aliases
alias grey-grep="GREP_COLOR='1;30' grep -E --color=always --line-buffered"
alias red-grep="GREP_COLOR='1;31' grep -E --color=always --line-buffered"
alias green-grep="GREP_COLOR='1;32' grep -E --color=always --line-buffered"
alias yellow-grep="GREP_COLOR='1;33' grep -E --color=always --line-buffered"
alias cyan-grep="GREP_COLOR='1;36' grep -E --color=always --line-buffered"
tail -1000f /var/log/apache2/error.log | grey-grep ".*PerformanceLogger.*|$" | cyan-grep "INFO|$" | yellow-grep "WARN|$" | red-grep "[ERROR].*|[FATAL].*|$" | green-grep "***|$"
ポイントは、チェーンされたすべての grep が異なる色を追加することです。したがって、結果は次のようになります。