July 26, 2015

IISのログをシンプルにする

下記のコードはAzure Cloud ServiceでIISが出力する[W3C形式のログ](https://msdn.microsoft.com/ja-jp/library/Cc338018.aspx#W3CExtendedLogFileFormat)を、 クライアント側でシンプルにするシェルスクリプトである。

本来はIISが何をログに残すかを設定すべきなのだろうが、 その辺りは特に何もしないでAzure Cloud ServiceにMVCのウェブアプリをデプロイすることがあると思う。 そもそも、この辺りの設定ができるのかどうかがわからない。

そういったこともあって、クライアントでログの中身を取捨選択できると便利だろうと思い、 上記コードを作成した。

## 使い方

下記に使い方を示す。Windowsの端末ではgit bashがあれば実行可能だ。

> sh parse-iis-log.sh "/path/to/iis/log/*.log"

このコマンドを実行するとIISログがシンプルになってテキストファイルとして出力される。 出力されるファイルはコマンド実行時にいたディレクトリ。ファイル名はtmp-parsed-log.txtである。

また、500系のログは500-error-log.txtという別ファイルに出力される。コマンド実行時にいたディレクトリにファイルが生成される。