Verweisen auf Aktionsparameter aus ExceptionLogger
Ich möchte die neue Methode zum globalen Protokollieren von Fehlern verwenden. Ich habe eine Klasse geschrieben, die erbtExceptionLogger
und überschreibt dieLog()
Methode. Dann registriert es als Ersatz.
public class TraceExceptionLogger : ExceptionLogger
{
public async override void Log(ExceptionLoggerContext context)
{
// This is always empty string
var content = await context.Request.Content.ReadAsStringAsync();
// This is almost always null
var actionContext = context.ExceptionContext.ActionContext;
}
}
Ich kann durch die GrabenExceptionLoggerContext
Objekt Eigenschaften, um so ziemlich alles zu bekommen, was ich brauche, außer für Aktionsparameter. Es gibt in der Tat eineActionContext
Eigentum, aber ich habe es nur null und gesehenDiese Wiki-Seite besagt, dassActionContext
undControllerContext
wird fast immer null sein.
Außerdem kann ich den Content-Stream nicht abrufen, da sein Stream bereits gelesen wurde, bevor er in meinen Logger gelangt. Ich kann also keinen Json aus dem Inhalt der Anfrage abrufen.
Gibt es vielleicht einen Weg, um die geposteten Daten von zu bekommenHttpContext.Current
oder auf andere Weise?