@kyanny's blog

My thoughts, my life. Views/opinions are my own.

p5-App-AccessLogFilter-Colored というプログラムを書いてみました (追記あり)

追記 grep --color でだいたい事足りてしまいますねすいません... (知らなかった)

Common/Extended Log Format なファイルを「特定のフィールドに限定してフィルタリングしたい」「特定のフィールドだけ色を変えたい」なーと常々思っていたのですが、用途にぴったりのプログラムを探せなかったので自分で書いてみました。

kyanny/p5-App-AccessLogFilter-Colored - GitHub
https://github.com/kyanny/p5-App-AccessLogFilter-Colored

使い方は上記ページの例をどうぞ。 Perl が読める方ならばすぐに使えると思います。実際使ってみると以下のように見えます。これはこのログファイルを UserAgent に "google" が含まれる、という条件でフィルタリングした例です。
http://gyazo.com/8ad8a91259469c10e2f2bb1a22cc2dfe.png

ログフォーマットのカスタマイズも (だいぶ無理やりですが) 一応できるので、それなりに汎用的に使えるんじゃないかなと思っています。 eval を使いまくってるので遅くてお行儀が悪いですが、 grep(1) に比べて色がつくぶん見やすいのが利点 (のつもり) です。

$line{status} みたいに指定できるフィールド名について説明がない (ソース嫁状態) など、不十分な点もたくさんありますが、よければご意見ください。

(やけに丁寧な文章なのは、社内 SNS に書いた紹介文をコピペしたためです :P)