Born Too Late

Yuya's old tech blog.

Apache のアクセスログをカラフルにして tail -f

2011-02-08 15:01:06

Web エンジニアであれば, Apache のアクセスログを tail -f で流しながら確認することは多いのでは無いでしょうか.
通常は白黒で非常に見づらいと思いますが, 以下の記事を参考に, カラフルにしてみました.

RubyでANSIカラーシーケンスを学ぼう! (hp12)

今回用意したコードはこちら.

shebang を合わせてもたった 4 行です.
こちらはログフォーマットに依存するので, ご注意ください.
combinedvhost_combined といったログフォーマットを前提としています.

以下のようにして使用します.

$ tail -f /var/log/apache/path_to_access_log | ./colorize.rb

実際の使用例は, 右の画像の通りです.
(このブログのアクセスログです. IP 等は枠外にはみ出させました.)
tail -f なので, このようなログがずっと流れてきます.

私の場合は, リクエストメソッド, リクエストパス, ステータスコードに色付けしています.

上記の記事では HighLineTermColor といった gem を利用していますが, 私の場合はこのワンライナーの正規表現で十分だったので, それで済ませてしまいました.
それぞれの用途によっては, さらなるカスタマイズや, より一般化されたツール化なども考えられると思いますが, とりあえず一例として.

あとはこれを, 以下のような less の使い方に対応させる方法があればいいのですが, 私がやった限りはわかりませんでした...

less の tail -f モード的な何か (YoshioriのBlog)

どなたか, いい方法があれば是非教えてください...
それでは今日はここまで.