我想要使用新方法来记录全局日志错误.我编写了一个继承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,this wiki page表示ActionContext和ControllerContext几乎总是为null.
此外,我无法获取内容流,因为它的流已经在它到达我的记录器之前被读取.因此,我无法从请求的内容中获取任何已发布的json.
有没有办法从HttpContext.Current或其他方式获取发布的数据?