如何配置 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 錯誤。
AspErrorToNTLog
當設定為 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 問題:當某些 Web 服務傳回 HTTP 狀態 500 時,我們希望使用它來觸發操作(例如向操作發送電子郵件)。
答案1
您可以使用(免費)第三方軟體來做到這一點。事件哨兵(Light)是可以透過監視實際日誌檔案並過濾出現的任何文字來實現此目的的產品之一。只要 IIS 記錄到日誌檔案中,您就無需在 IIS 端執行任何操作。
我實際上找到了一個螢幕截圖來引導您完成它:https://youtu.be/1Cu_e1PkI2w。