Как настроить 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
Чтобы избежать проблемы X-Y: мы хотели бы использовать его для запуска действия (например, отправки электронного письма в Operations), когда некоторые веб-службы возвращают статус HTTP 500.
Вы можете сделать это с помощью (бесплатного) стороннего программного обеспечения. EventSentry (Light) - один из продуктов, который может делать это, отслеживая фактический файл журнала и фильтруя любой появляющийся текст. На стороне IIS вам ничего не нужно делать - пока он записывается в файл журнала.
Я действительно нашел скрин, который проведет вас через это: https://youtu.be/1Cu_e1PkI2w.