我试图通过使用 Log Parser 2.2 解析我们的 IIS 日志来计算我们网站上特定 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')
看起来由于某种原因,当天的数据被跳过了。查询较早的日期时,我可以很好地取回数据。为什么会这样?