29

私は、サーバーの起動時にテールをもう少し読みやすくしようとしています。私の現在のコマンドは、スタートアップからのINFOメッセージとDEBUGメッセージのほとんどを除外します。

tail -F ../server/durango/log/server.log | grep -e "ERROR" -e "WARN" -e "Shutdown" -e "MicroKernel" | grep --color=auto -E 'MicroKernel|$'

私がやりたいのは、WARNを黄色、ERRORを赤、MicroKernelを緑で強調表示するものを作成することです。grep --color = autoを複数回パイプしてみましたが、残っている色はパイプの最後のコマンドだけです。

これを行うための1つのライナーはありますか?それともメニーライナー?

4

6 に答える 6

32

はい、これを行う方法があります。つまり、端末がANSIエスケープシーケンスをサポートしている限りです。これは、存在するほとんどの端末です。

grepやsedなどの説明は必要ないと思います。ポイントは色が正しいですか?

以下を参照してください、これは

WARN yellow
ERROR red
foo   green

ここに例があります:

kent$ echo "WARN
ERROR
foo"|sed 's#WARN#\x1b[33m&#; s#ERROR#\x1b[31m&#; s#foo#\x1b[32m&#'

\x1bESC文字(^VEsc)の16進数です。

結果を確認するには:

ここに画像の説明を入力してください

于 2013-02-04T17:22:48.853 に答える
0

私はハッキングしたこれのバージョンを使用します: python log watcher

于 2013-02-04T17:13:14.137 に答える