Log Parser Query

时间:2010-12-31 00:40:31

标签: iis powershell logging logparser

我正在使用Log parser从一堆IIS日志中获取特定报告。在Web应用程序发生意外错误时,我们将用户发送到系统错误页面(SystemError.htm)。

我想知道他们在被重定向到系统错误页面之前的页面。我知道这是一种做错误报告/记录的愚蠢方式,但这是我必须要处理的。

目前,我可以检索最终出现在系统错误页面上的用户的IP地址,日期和时间。

SELECT c-ip as IPAddress, date as Date, time as Time 
FROM D:\IISLog\*.log 
WHERE cs-uri-stem = '/SystemError.htm' 
ORDER BY c-ip, date, time DESC

我正在使用日志解析器:

LogParser.exe -i:IISW3C file:C:\IISLog.sql -q:off -recurse:1

这意味着我通过子文件夹中存在的很多IISLog进行递归。我现在要做的是将此查询的结果再次连接到IP地址上的日志,并在系统错误页面之前获取具有日期时间的前1个结果。

我的问题是我似乎无法找到一种方法来进行连接。据我所知,这是不可能的。你有没有人遇到过这样的事情?我的SQL不是最好的,也许我错过了另一种方法。

对于logparser来说,这可能是太多了,是时候切换到PowerShell了?任何帮助将不胜感激。

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用W3C日志格式时,您可以尝试跟踪和评估cs(Referer):

SELECT c-ip as IPAddress, date as Date, time as Time, cs(Referer) as Referer 
FROM D:\IISLog\*.log 
WHERE cs-uri-stem = '/SystemError.htm' 
ORDER BY c-ip, date, time DESC