2009-03-20 10 views
5

Ich versuche ELMAH einzurichten, um Fehler für unsere Anwendung zu protokollieren. Ich habe die Module erfolgreich hinzugefügt und habe keine Probleme beim Laden der ErrorLog-Seite (elmah.axd). Elmah protokolliert jedoch keine Testausnahmen, die ich generiere.Hilfe mit Elmah-Konfiguration in ASP.NET

Meine web.config sieht wie folgt aus:

<configSections> 
    <!-- Other stuff --> 
    <sectionGroup name="elmah"> 
     <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/> 
     <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/> 
     <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/> 
    </sectionGroup> 
</configSections> 

<elmah> 
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" /> 
</elmah> 

<httpHandlers> 
    <!-- Other stuff --> 
    <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/> 
</httpHandlers> 

<httpModules> 
    <!-- Other stuff --> 
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/> 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> 
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/> 
</httpModules> 

Schlagen Sie den Test Ausnahme Seite http://localhost/elmah.axd/test eine yellow screen erzeugt, aber kein Protokolleintrag.

Zwischen dem bereitgestellten Beispiel und dem Tutorial auf DotNetSlackers kann ich nichts falsches sehen. Gibt es etwas, das mir fehlt? Ich habe auch versucht, Fehler über Signaling zu erzeugen, aber das funktioniert auch nicht.

Ich führe dies gegen DotNetNuke, und das ist, wo ich derzeit denke, das Problem liegt.

Antwort

8

Ich denke, was Sie tun müssen, ist benutzerdefinierte Fehlermeldungen in DotNetNuke deaktivieren.
1. Melden Sie sich bei dnn Portal als Host an.
2. Navigieren Sie zu Host> Host-Einstellungen.
2. Wechseln Sie zum Abschnitt Grundeinstellungen - Aussehen.
3. Deaktivieren Sie das Häkchen bei Benutzerdefinierte Fehlermeldungen verwenden.
4. Klicken Sie auf Aktualisieren.
Dies wird DotNetNuke Fehlerbehandlung deaktivieren.

+0

Schön! Das hat den Trick gemacht. –

+0

Arbeitete großartig mit Dnn 5.04 – NotMe

1

Könnte sein, dass DNN die Ausnahmen verschluckt - hat es einen eigenen Ausnahmebehandlungsmechanismus?

Ich war ELMAH mit Einschienen und lief in ein ähnliches Problem mit - Castle MonoRail & ELMAH

FYI Someone else mit dem gleichen Problem.

+0

Ja, ich bin gerade auf diesen Link gestoßen! –

+0

Ich habe in Ihrer Frage festgestellt, dass Sie Signalisierung verwendet haben, um Ihr Problem zu lösen - selbst das funktioniert nicht auf meiner Box. –

+0

Angst, ich weiß nicht viel über DNN, aber haben Sie versucht, das DNN Logging Modul zu deaktivieren? – BigJump

1

DNN verarbeitet alle Ausnahmen, also ist das wahrscheinlich das Problem, das Sie sehen. Ich glaube, es behandelt das Error-Ereignis auf der Anwendungsebene und protokolliert alles in der Datenbank. Ich weiß nicht, wie ich das abstellen soll, aber ich habe es auch nie wirklich versucht.

+1

Ya, es ist herauszufinden, wie man es abstellen, das ist der Ärger. DNN-Dokumentation ist bestenfalls schlecht! –