我正在使用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了?任何帮助将不胜感激。
提前致谢!
答案 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