2010-08-22 14 views
6

In meinem ASP.NET 4.0 MVC-Projekt, das in IIS 7 ausgeführt wird, habe ich ELMAH eingerichtet und konfiguriert, um Fehler auf meiner Site zu protokollieren. Ich bin jedoch nicht in der Lage, Berichte über Fehler mit dem Code 500 zu erhalten.Code 500-Fehler in ELMAH nicht protokollieren

Ich habe einen einfachen Controller eingerichtet, der eine Division-durch-Null-Ausnahme erstellt, aber ELMAH protokolliert sie nicht. Ich kann ELMAH dazu bringen, andere Nachrichten gut zu protokollieren, und ich filtere keine Ausnahmen in ErrorLog_Filtering aus.

Darüber hinaus werden die benutzerdefinierten Seiten angezeigt werden ich den httperrors Abschnitt der web.config aktualisiert haben sich wie folgt:

<customErrors mode="RemoteOnly" defaultRedirect="~/error/GenericError"> 
    <error statusCode="403" redirect="~/error/AccessDenied" /> 
    <error statusCode="404" redirect="~/error/NotFound" /> 
    <error statusCode="500" redirect="~/error/Offline" /> 
    <error statusCode="501" redirect="~/error/Offline" /> 
    <error statusCode="503" redirect="~/error/Offline" /> 
</customErrors> 

und

<system.webServer> 
    <httpErrors errorMode="DetailedLocalOnly" > 
     <error statusCode="403" prefixLanguageFilePath="" path="/error/AccessDenied" responseMode="ExecuteURL" /> 
     <error statusCode="404" prefixLanguageFilePath="" path="/error/NotFound" responseMode="ExecuteURL" /> 
     <error statusCode="500" prefixLanguageFilePath="" path="/error/GenericError" responseMode="ExecuteURL" /> 
     <error statusCode="501" prefixLanguageFilePath="" path="/error/GenericError" responseMode="ExecuteURL" /> 
     <error statusCode="503" prefixLanguageFilePath="" path="/error/Offline" responseMode="ExecuteURL" /> 

Schließlich, wenn die Application Log-Dateien überprüft, Die Code 500 Fehlermeldungen werden dort nicht angezeigt.

Gibt es eine Konfiguration, die ich vermisse, oder bin ich irgendwie versehentlich den Fehler selbst gefangen und lasse ihn nicht propagieren?

Antwort

3

Sie müssen die Zeile löschen, indem Sie den Filter HandleErrorAttribute in RegisterGlobalFilters() in FilterConfig.cs hinzufügen. Weitere Details in this question.

Verwandte Themen