がっつりネタふり


by dc2keeper
カレンダー
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

LogParserの旅~今月分のクエリ~

コーディング熱が出てきております。DC2KEEPERです。

LogParserという熱いツールがMSよりリリースされて久しい今日この頃ですが、
いかがお過ごしでしょうか。

LogParserの何が熱いって、Windows上で取り扱いがめんどかったIISログを簡単にSQL文で取り出せるってんだから。
もともと、MSのエンジニアもIISのログのデバッグがめんどかったから、作られたツールだとか。



しかし、かっこいいクエリを書くにはさらに工夫が必要で、
結構これが作るのに時間がかかるものだから、思わずここに書きます。


今月分のログを抽出するには。
"C:\Program Files\Log Parser 2.2\LogParser" "SELECT [date], [time], [c-ip], [cs-username], [s-sitename], [s-computername], [s-ip], [s-port], [cs-method], [cs-uri-stem], [cs-uri-query], [sc-status], [sc-substatus], [sc-win32-status], [sc-bytes], [cs-bytes], [time-taken], [cs-version], [cs-host], [cs(User-Agent)], [cs(Cookie)], [cs(Referer)] INTO 出力ファイルパス FROM 取得元ログパス\*.log WHERE date>=TO_TIMESTAMP(TO_STRING(SYSTEM_DATE(),'yyyy-MM'),'yyyy-MM')" -i:IISW3C -e:1 -o:W3C >出力リダイレクト




はい。ここが肝です。
TO_TIMESTAMP(TO_STRING(SYSTEM_DATE(),'yyyy-MM'),'yyyy-MM')"
この結果は2009-08-00という日付となり、クエリされているようです。

確認確認…。
ADDで日付値を+1すると、8月1日以降のログが取得できました。
ADDで日付値を+2すると、8月2日以降のログが取得できました。
あっているな…。

そんな感じです。

でわでわ
[PR]
by dc2keeper | 2009-08-14 20:59 | コンピュータ、プログラム