Frage

Ich finde das nicht einfach zu installieren sein; entweder gibt es einen fehlenden Schritt in der Setup-Konfiguration, ist es nicht richtig funktioniert, oder ich weiß nicht wirklich verstehen, seinen Zweck. Es ist etwas definitiv falsch hier. Das Problem muss mich offensichtlich. Ich bin nur nicht immer diese zu arbeiten. Hier ist, was ich getan habe.

Erstellen Sie eine brandneue MVC-Anwendung. Platziert die folgenden auf der Seite About.aspx.     

        <% Throw new Exception ( "blah"); %>         Der Inhalt hier.     

Drücken Sie die Seite, um den gelben Schirm mit der Ausnahme erhalten.

In elmah.dll zu bin.

In

der Datei Web.config configurationSections:

<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" />
  <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
In

zu den Httphandlers Abschnitt der folgende:

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />

In der Sektion Module:

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

an dem Handler Abschnitt:

<add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" preCondition="integratedMode" type="Elmah.ErrorLogPageFactory, Elmah"/>

Fügen Sie einen Elmah Abschnitt:

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

neugierig, was hier ist, dass die „.XmlFileErrorLog“ Teil dieser Zeichenfolge rot als ReSharper Fehler auftauchen darauf hinweist, dass es „Kann Symbol‚.ctor‘nicht lösen“, die, wenn ich am elmah.dll schauen in Reflector zeigt dies, Objekt entweder ein „string“ oder einen „IDicationary“ in eine der beiden öffentlichen Konstruktoren erfordern.

Ich bin mit Windows Vista x64 mit VS 2008 Set-Berechtigung für die App_Data zu jeder Person als Co_Owner.

Die http: // localhost: xxxx / elmah.axd Seite kommt und zeigt keine Fehler . Als ich traf meine Seite „About“ wieder immer noch ich gelb Bildschirm sehen und elmah.axd zeigt noch keine Fehler Ordner App_Data.

I ersetzt die Custom mit und erstellt zugehörige Seite:

<customErrors mode="On" defaultRedirect="GenericErrorPage.htm" />

Die benutzerdefinierte Seite zeigt aber elmah.axd zeigt immer noch „keine Fehler“. App_data noch leer!

Als Quelle dieses Setup starten ich verwendet: code.google.com/p/elmah/wiki/MVC

Also, wo bin ich verkorkste an?

~ - = Mike = - ~

War es hilfreich?

Lösung

Überprüfen Sie, ob ErrorLogModule in beiden configuration/system.web/httpModules ist (verwendet, wenn Sie auf Entwicklung Web-Server sind) und configuration/system.webServer/modules (verwendet von IIS7). Hier ist das Fragment von web.config von Projekt arbeite ich zur Zeit an:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <httpModules>
            <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
            <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
        </httpModules>
    </system.web>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="ErrorLog" />
            <remove name="ErrorMail" />
            <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
            <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
        </modules>
    </system.webServer>
</configuration>

Hope, das hilft

Andere Tipps

Versuchen Sie diesen Abschnitt zu entfernen:

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

Dies bedeutet, dass Elmah Setup nur ist die Standard-In-Memory-Protokollierung zu verwenden. Diese Probleme Hilfe schießen, weil Sie wissen, es ist keine Datei Erlaubnis Sache. Also, wenn du hast es mit In-Memory-Arbeits Anmeldung Sie können es dann eingerichtet, um eine XML-Datei zu protokollieren.

Sie können auch diese Frage Stackoverflow zu überprüfen, Wie ELMAH bekommen mit ASP.NET MVC arbeiten [Handle] Attribut? , dass beantwortet wurde von Atif Aziz selbst.

HTHS, Charles

ich von nuget elmah und elmah on XML log installiert ist, hat die erwartete funcionality nicht bekam, obwohl ich http://localhost/elmah.axd zugreifen konnte, aber keine Fehlererfassung.

gab ich die Schreibberechtigung für den Account IIS_IUSERS im Ordner App_Data, und es begann für HTTP arbeiten 404 Fehler und die Fehler, die außerhalb MVC-Infrastruktur sind. Aber es melden Sie sich nicht Ausnahmen innerhalb der mvc. Die Lösung wurde die Installation von elmah.mvc Paket aus nuget und es begann alle Ausnahmen zu erfassen.

Wenn Sie Ihre Konfiguration in Ordnung ist, dann installieren Sie einfach das elmah.mvc Paket von nuget und es sollte zu speichern Protokolle auch innerhalb mvc beginnen, nicht nur HTTP 404.

Das Problem ist, diese Zeile

  <customErrors mode="On" defaultRedirect="GenericErrorPage.htm">

Ersetzen durch

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top