Frage

Ich bin ein wenig verwirrt, wie eine Nachricht an einen Fehler hinzufügen angemeldet programmatisch mit ELMAH.

Beispiel:

public ActionResult DoSomething(int id)
{
    try { ... }

    catch (Exception e)
    {
        // I want to include the 'id' param value here, and maybe some
        // other stuff, but how?
        ErrorSignal.FromCurrentContext().Raise(e);
    }
}

Es scheint alles Elmah tun kann, ist die rohe Ausnahme einzuloggen, wie kann ich auch meine eigenen Debug-Informationen anmelden?

War es hilfreich?

Lösung

Sie können eine neue Exception werfen das Original als die innere Ausnahme Einstellung und ELMAH werden die Log-Meldungen für beide:

catch(Exception e)
{
    Exception ex = new Exception("ID = 1", e);
    ErrorSignal.FromCurrentContext().Raise(ex);
}

zeigen

System.Exception: ID = 1 ---> System.NullReferenceException: Object reference not set to an instance of an object.

Andere Tipps

Ich fand, dass ich auch so etwas wie tun:

Elmah.ErrorSignal.FromCurrentContext().Raise(new NotImplementedException("class      FbCallback.Page_Load() Request.Url= " + Request.Url));

Um meine eigenen Nachrichten zu protokollieren. Dann, wenn ich wechseln Sie zu

http://localhost:5050/elmah.axd

Ich sehe meine Nachrichten als Typ NotImplementedException. Nicht sehr hübsch, aber funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top