1

我正在使用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 了?任何帮助将不胜感激。

提前致谢!

4

1 回答 1

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
于 2011-01-10T15:27:53.990 回答