Я работаю над получением конкретного отчета из группы журналов IIS, используя Анализатор журнала .В тот момент, когда в веб-приложении возникает непредвиденная ошибка, мы отправляем пользователя на страницу системных ошибок (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
Это означает, что я рекурсивно использую множество IISLogs, которые существуют в подпапках.Теперь я хотел бы снова присоединить результат этого запроса к журналам на IP-адресе и получить первый результат с датой и временем перед страницей системных ошибок.
Моя проблема в том, что я не могу найти способ сделать соединение.Насколько я понимаю, это невозможно.Кто-нибудь из вас сталкивался с чем-то подобным?Мой SQL не самый лучший, может быть, мне не хватает другого способа сделать это.
Может быть, это слишком много для logparser, время переключиться на powershell?Любая помощь будет оценена.
Заранее спасибо!