Log Parser 2.2 を使用して IIS ログを解析し、Web サイトの特定の URL のヒット数をカウントしようとしています。タイムスタンプの処理が非常に混乱していることを除いて、すべてが正常に機能しているようです。
IIS ログには、すべてのタイムスタンプが UTC 時間で表されています。したがって、私のアプリケーションでは、クエリにプラグインする前にサーバーの時刻を UTC に変換します。しかし、当日のデータを照会しようとすると、ログ ファイルにレコードが表示されているにもかかわらず、ゼロ カウントが返されます。現在の日付内のすべてを取得するために実行しようとする生成されたクエリは次のようになります (クエリは 2009 年 11 月 11 日に実行され、アリゾナ時間を使用しています)。
SELECT COUNT(*)
FROM \\Server\IIS Logs\LogFiles\W3SVC1\u_ex*.log
WHERE
cs-method = 'GET'
AND cs(Referer) NOT LIKE '%ntorus%'
AND c-ip NOT LIKE '192%'
AND c-ip NOT LIKE '127%'
AND (
cs-uri-stem = '/'
OR cs-uri-stem = '/myurl')
AND sc-status BETWEEN 200 AND 299
AND date BETWEEN
TIMESTAMP('2009-11-11 07:00', 'yyyy-MM-dd hh:mm')
AND TIMESTAMP('2009-11-12 07:00', 'yyyy-MM-dd hh:mm')
何らかの理由で当日のデータがスキップされているようです。以前の日付を照会すると、問題なくデータが返されます。なぜこうなった?