web-dev-qa-db-ja.com

Apacheログのカラーテール

tail –fを使用してApacheログを監視すると、しばらくすると非常にイライラする傾向があります。ログ出力を色分けするためのツール/オプションはありますか?たぶん赤などでFATALに合図する.

9
Cherian

私はログを監視するために multitail を使用しています。これには、カラーリングと、マージされた、またはウィンドウ内の複数のログファイルの監視が含まれます。試してみる。

10
onik

このようなものを使用できない理由:

tail -f FILE | grep --color=always KEYWORD

ソース:commandlinefu.com

9
JamesBarnett

これが見つかりました: http://fixunix.com/unix/83044-tail-color.html

tail -f file | Perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'

これはANSI端末でのみ機能しますが、他のすべての端末は事実上絶滅しています。\e [... m ist ANSIエスケープシーケンスSGR "select graphic rendition"。 「...」は、セミコロンで区切られた整数で置き換えることができます。意味は次のとおりです。

0:すべての属性をオフ1:太字31:前景赤43:背景黄色

「キーワード」はもちろん、任意のPerl正規表現にすることができます。

(foo | bar)文字列fooおよびbarを強調表示します\ b((foo | bar)\ b単語fooおよびbarを強調表示します。\ b((foo | bar)\ b。fooまたはbarという単語を含む行全体を強調表示します

または、簡単な方法として、colortailをインストールします。これはおそらくお気に入りのリポジトリ(CentOSのdag)にあります。

http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html

http://joakimandersson.se/projects/colortail/

4
Grizly

私が使用 いくつかの色を取得するための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が異なる色を追加することです。したがって、結果は次のようになります。 Apache log with some colors

3
DavidEG

これらのカラライザーには見られなかった機能が1つあります。応答時間を強調表示します(時間が長い->より驚くべき色)。最新のターミナルエミュレータでの256色のサポートは、ここで役立ちます。

0
sendmoreinfo

すべての出力を表示するが、選択したキーワードに色を付けるためのもう1つの便利なgrepトリックは次のとおりです。

tail -f FILE | grep --color=always -E "$|REGEXP"
0
Felipe Alvarez

恥知らずなプラグイン:私は TxtStyle と呼ばれるツールを作成しました。これは、前述のオプションと同様のことを行います。次のように実行できます。

tail -f /var/log/syslog | txts --regex '\d+'

名前付きスタイルを構成ファイル(~/.txts.conf)のように使用します。

ifconfig | txts --name ifconfig

ifconfigスタイルは標準で定義されています)

0
armandino