[030] W3C拡張ログ形式のカスタマイズを行う方法

2015年5月21日

当サイトには広告が含まれています。

IISのログには「W3C拡張ログ形式」「IISログ形式」「NCSAログ形式」の3種類があります。この中で「W3C拡張ログ形式」だけが、唯一カスタマイズ可能です。その方法を画像付きで紹介します。

IISで選択できるログの形式

IISで設定できるログ形式には下記の3種類がある。
共にASCII形式なので、テキストエディターで内容を見ることが可能だ。

IISログ形式
カスタマイズ不可能
カンマ区切り
時間は現地時間
保存ログファイル名は「in****.log」
(ログの例:実際には1行)
192.168.0.100, -, 2004/03/10, 19:10:30, W3SVC1,
PC01, 192.168.0.200, 340, 235, 0, 200, 0, GET, /index.html, -,

W3C拡張ログ形式
カスタマイズ可能
半角スペース区切り
時間は協定世界時(UTC) ← GMT(Greenwich Mean Time:グリニッジ標準時)と同意
保存ログファイル名は「ex****.log」
(ログの例:実際には1行)
2004-03-10 10:10:30 192.168.0.200 GET /index.html
– 80 – 192.168.0.100 Mozilla/4.0(compatible;+MSIE+5.0;+Windows+98;+DigExt)
– 200 0 0

NCSAログ形式
CLF(Common Log Format)とも呼ばれる。
カスタマイズ不可能
半角スペース区切り
時間は現地時間
保存ログファイル名は「nc****.log」
(ログの例)
192.168.0.100 – – [10/Mar/2004:19:10:30 +0900] “GET /index.html HTTP/1.0" 200 –

IISログ形式とNCSAログ形式はReferer(参照元)や
User Agent(クライアント使用ブラウザ)を取得できないので
(カスタマイズ不可能であり追加もできない)、
ある程度本格的なログ解析をするのであれば、W3C拡張ログ形式にすべきだろう。

W3C拡張ログ形式のカスタマイズ

W3C拡張ログ形式はカスタマイズが可能である。
よって、必要な項目を取得し、不要な項目は取得しないようにできる。

現在取得している項目は、ログの先頭に#付きで記されている。
#Software: Microsoft Internet Information Services 5.0
#Version: 1.0
#Date: 2004-03-10 19:00:00
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query
s-port cs-username c-ip cs(User-Agent) cs(Referer)
sc-status sc-substatus sc-win32-status

(実際には1行)

取得項目を変更するには、下記の手順で行う。


「インターネットインフォメーションサービス」→
「既定のWebサイト(デフォルト値)」→「プロパティ」をクリック。


「Webサイトのプロパティ」画面で「ログの収集を有効にする」にチェックを入れ、
ログ形式を「W3C拡張ログファイル形式」にして「プロパティ」をクリック。


「拡張プロパティ」をクリック。


カスタマイズできる一覧が表示される。

広く使われているApacheのcombined形式
LogFormat “%h %l %u %t ¥"%r¥" %>s %b ¥"%{Referer}i¥" ¥"%{User-Agent}i¥"" combined
に近づけるためには、下記の12項目にチェックを入れる。

date
time
cs-method
cs-uri-stem
cs-uri-query
cs-username
c-ip
cs(User-Agent)
cs(Referer)
sc-status
cs-version
sc-bytes

s-ip(サーバのIPアドレス)やs-port(サーバのポート)は固定であれば取得する必要はない。
これらを取らないことで、若干ではあるが、ログの肥大化を押さえることが可能だ。

関連記事

更新履歴