public async void OnException(ExceptionContext context) { LoginUser loginUser = context.HttpContext.GetLoginUser(); ExceptionLog exceptionLog = new ExceptionLog { Message = context.Exception.Message, Exception = context.Exception.ToString(), IP = context.HttpContext.Connection.RemoteIpAddress.ToString(), RequestInfo = await context.HttpContext.GetRequestBody(), RouteInfo = context.GetControllerAndAction(), Account = loginUser == null ? "未知" : loginUser.Account }; _capBus.PublishAsync("ExceptionLog", exceptionLog); if (context.Exception is CustomException) { context.Result = new OkObjectResult(new { Code = 400, Msg = context.Exception.Message }); return; } LogService.WriteExceptionAsync(context.Exception, exceptionLog.RouteInfo, exceptionLog.RequestInfo); context.Result = new OkObjectResult(new { Code = 400, Msg = "当前操作失败,请稍后重试!" }); }