Я хочу использовать новый метод для глобального ведения журнала ошибок. Я написал класс, который наследует ExceptionLogger
и переопределяет метод Log()
. Потом зарегистрировал его как замену.
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;
}
}
Я могу копаться в свойствах объекта ExceptionLoggerContext
, чтобы получить почти все, что мне нужно, КРОМЕ параметров действия. Свойство ActionContext
действительно существует, но я видел только его значение null и эта вики-страница утверждает, что ActionContext
и ControllerContext
почти всегда будут нулевыми.
Кроме того, я не могу получить поток контента, потому что его поток уже прочитан до того, как он попадет в мой регистратор. Поэтому у меня нет возможности получить какой-либо опубликованный json из содержимого запроса.
Есть ли способ получить опубликованные данные от HttpContext.Current
или каким-либо другим способом?