Ich versuche, ELMAH zu verwenden, um Fehler in meiner ASP.NET MVC-Anwendung zu protokollieren. Wenn ich jedoch das [HandleError]-Attribut in meinen Controllern verwende, protokolliert ELMAH keine Fehler, wenn sie auftreten.
Ich vermute, dass ELMAH nur nicht behandelte Fehler protokolliert und das [HandleError]-Attribut den Fehler behandelt, sodass kein Bedarf besteht, ihn zu protokollieren.
Wie kann ich das Attribut ändern oder wie könnte ich das Attribut ändern, so dass ELMAH weiß, dass ein Fehler aufgetreten ist und ihn protokolliert.
Bearbeitung: Lassen Sie mich sicherstellen, dass jeder versteht, ich weiß, dass ich das Attribut ändern kann, das ist nicht die Frage, die ich stelle... ELMAH wird umgangen, wenn das HandleError-Attribut verwendet wird, was bedeutet, dass es den Fehler nicht sieht, weil er bereits vom Attribut behandelt wurde... Was ich frage, ob es eine Möglichkeit gibt, ELMAH den Fehler sehen und protokollieren zu lassen, obwohl das Attribut ihn behandelt hat... Ich habe gesucht und keine Methoden gefunden, die aufgerufen werden könnten, um ihn dazu zu zwingen, den Fehler zu protokollieren....
12 Stimmen
Wow, ich hoffe, Jeff oder Jared würden diese Frage beantworten. Sie verwenden ELMAH für Stackoverflow ;)
11 Stimmen
Hmm, komisch - wir verwenden nicht das HandleErrorAttribute - Elmah ist in unserem -Abschnitt der web.config eingerichtet. Gibt es Vorteile bei der Verwendung des HandleErrorAttribute?
1 Stimmen
Nun ja, ich glaube, dass du diese nervige Querystring-Abfrage nicht in der URL erhältst, und wenn ein Fehler auftritt, wird die URL nicht auf die im benutzerdefinierten Fehler im Web.config angegebene umgeleitet... für mich ist es einfach sauberer
0 Stimmen
@dswatik Ja, ich denke, eine Fehleransicht, die auf der aktuellen URL erscheint, anstatt einer umgeleiteten, wäre vielleicht sauberer - wir werden es überprüfen!
0 Stimmen
@Jarrod Vielen Dank, das wäre sehr geschätzt :)
9 Stimmen
@Jarrod - Es wäre schön zu sehen, was an deinem ELMAH-Fork "benutzerdefiniert" ist.
3 Stimmen
@dswatik Sie können Weiterleitungen auch verhindern, indem Sie redirectMode in der web.config auf ResponseRewrite einstellen. Siehe blog.turlov.com/2009/01/…
6 Stimmen
Ich bin immer wieder auf Web-Dokumentationen und Beiträge gestoßen, die das [HandleError]-Attribut und Elmah erwähnen, aber ich konnte das Verhalten, das dies löst (z.B. Elmah protokolliert den "behandelten" Fehler nicht), nicht beobachten, als ich den Dummy-Fall eingerichtet habe. Dies liegt daran, dass ab Elmah.MVC 2.0.x dieses benutzerdefinierte HandleErrorAttribute nicht mehr erforderlich ist; es ist im NuGet-Paket enthalten.
0 Stimmen
Protokoll schreiben in Mvc unter Verwendung von HandleErrorInfo