2010-03-17 115 views
5

我有兩個ASP.NET MVC Web應用程序。其中一個將未處理的異常記錄到Windows事件日誌中。另一個沒有。ASP.NET應用程序未記錄到Windows事件日誌中

在IIS或web.config中是否有設置來啓用事件日誌記錄?

對於廣泛問題的道歉,我真的在尋找調查途徑。

+0

您是否在兩個應用程序中都獲得了標準的黃色死亡屏幕?什麼版本的IIS/Windows? – 2010-03-17 13:40:46

+0

沒有顯示友好的錯誤信息。我在win2k3/iis6(?)和server2k8/iis7 – Ben 2010-03-17 13:48:42

+0

@Ben Aston上看到了相同的行爲 - 錯誤信息是? – Oded 2010-03-17 14:10:33

回答

1

將正在啓動的東西的CustomErrors添加到錯誤日誌中。

最終的解決辦法是

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> 

添加到web.config的

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
... 

節。這在IIS7中啓用了Elmah。

鬆散的理解 - elmah正在攔截異常,由於上述原因而被錯誤配置,從而導致吞嚥錯誤。打開自定義錯誤,似乎繞過了elmah,並啓用了錯誤以推送到事件日誌。

3

這通常是由於運行Web應用程序的帳戶沒有正確的寫入事件日誌的權限。

在IIS 7中,檢查應用程序池正在運行的標識。

+0

通過將該站點的應用程序池設置爲不記錄,將其排除在與該站點相同的池中。 – Ben 2010-03-17 13:52:24

+0

@Oded NetworkService內置帳戶是否有權寫入事件日誌? – myroslav 2017-06-07 16:15:12

+0

@myroslav - 它可以,只要它使用*現有*事件源。它沒有足夠的註冊表權限來創建新的偶數來源。 – Oded 2017-06-07 16:17:25

1

如果運行webapp(IIS用戶)的用戶不是管理員,請確保事件源已在操作系統中註冊。

+0

這是正確的,你需要特殊的權限來創建一個事件源(最終是一個reg鍵),但要寫入事件日誌(除了安全性),你幾乎可以成爲任何人。您可能需要先使用提升的權限創建它。 – 2010-03-17 13:56:47

相關問題