Какнастроить IIS 7так чтосоздает событие Windowsкаждый раз, когдаВозникает ошибка HTTP?
Самое близкое, что я нашел, это:https://docs.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms524984(v%3Dvs.90). Он описывает две переменные конфигурации AspErrorsToNTLog
и AspLogErrorRequests
. Однако я не могу заставить IIS создавать события для ошибок HTTP. И я даже не уверен, применимы ли они, поскольку в документации упоминаются только ошибки ASP, а не ошибки HTTP.
AspErrorsToNTLog
Если установлено значение TRUE, это свойство указывает, чтоОшибки ASPрегистрируются как в средстве просмотра событий, так и в файле журнала IIS.
Если установлено значение FALSE, это свойство указывает, чтоОшибки ASPрегистрируются только в файле журнала IIS.
Логирование в файл работает правильно. В c:\inetpub\logs\LogFiles\...\u_ex200123.log
, у нас есть ожидаемые строки, как это (обратите внимание на 500
конец строки)
2020-01-23 05:38:06 ip-address GET /MyService/ param1=value1¶m2=value2|-|ASP_0146|New_Session_Failed 80 - ip-address - 500 0 0 545
Чтобы избежать проблемы XY: мы хотели бы использовать его для запуска действия (например, отправки электронного письма в операционный отдел), когда некоторые веб-службы возвращают HTTP-статус 500.
решение1
Это можно сделать с помощью (бесплатного) стороннего программного обеспечения.EventSentry(Light) — один из продуктов, который может это делать, отслеживая фактический файл журнала и фильтруя любой текст, который появляется. Вам ничего не нужно делать на стороне IIS — пока он регистрирует в файле журнала.
На самом деле я нашел скринкаст, который проведет вас через все это:https://youtu.be/1Cu_e1PkI2w.