2010-03-17 6 views
5

Ich habe zwei ASP.NET MVC-Webanwendungen. Einer von ihnen protokolliert nicht behandelte Ausnahmen für das Windows-Ereignisprotokoll. Der andere nicht.ASP.NET-Anwendung protokolliert nicht im Windows-Ereignisprotokoll

Gibt es eine Einstellung in IIS oder der web.config, um die Ereignisprotokollierung zu aktivieren?

Entschuldigung für die breite Frage, ich bin wirklich auf der Suche nach Wegen für die Untersuchung.

+0

Bekommst du den Standard Gelben Bildschirm des Todes in beiden Apps? Welche Version von IIS/Windows? –

+0

Keine Ysod - freundliche Fehlermeldung angezeigt. Ich sehe das gleiche Verhalten auf win2k3/iis6 (?) Und server2k8/iis7 – Ben

+0

@Ben Aston - und die Fehlermeldung ist? – Oded

Antwort

1

Angepasste Fehler bei gestarteten Dateien werden zum Fehlerprotokoll hinzugefügt.

Endlösung war

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

zum

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

Abschnitt der web.config hinzuzufügen. Dies ermöglichte Elmah in IIS7.

Loose Understanding - Ausnahmen wurden von elmah abgefangen, das aus dem oben genannten Grund falsch konfiguriert war, wodurch Fehler verschluckt wurden. Das Aktivieren benutzerdefinierter Fehler scheint die Elmah zu umgehen und Fehler zu aktivieren, die zum Ereignisprotokoll durchgehen.

3

Dies liegt normalerweise daran, dass das Konto, auf dem die Webanwendung ausgeführt wird, nicht über die erforderlichen Berechtigungen zum Schreiben in das Ereignisprotokoll verfügt.

Überprüfen Sie in IIS 7 die Identität, unter der der Anwendungspool ausgeführt wird.

+0

Haben Sie dies ausgeschlossen, indem Sie den App-Pool für die Website keine Protokollierung auf den gleichen Pool wie die Website festlegen. – Ben

+0

@Oded hat das integrierte Netzwerkdienstkonto Berechtigungen zum Schreiben in das Ereignisprotokoll? – myroslav

+0

@myroslav - es kann, solange es * vorhandene * Ereignisquellen verwendet. Es verfügt nicht über ausreichende Registrierungsberechtigungen zum Erstellen neuer gerader Quellen. – Oded

1

Wenn der Benutzer, der die Webanwendung (den IIS-Benutzer) ausführt, kein Administrator ist, stellen Sie sicher, dass die Ereignisquelle beim Betriebssystem registriert ist.

+0

Das ist richtig, Sie benötigen spezielle Berechtigungen, um eine Ereignisquelle zu erstellen (was letztendlich ein reg-Schlüssel ist), aber um in ein Ereignisprotokoll zu schreiben (außer Sicherheit) können Sie für jeden etwas sein. Sie müssen es wahrscheinlich zuerst mit erhöhten Rechten erstellen. –

Verwandte Themen