public override void OnException(ExceptionContext context) { var error = new { Success = false, Errors = new[] { context.Exception.Message } }; context.Result = new ObjectResult(error) { StatusCode = 500 }; if (context.HttpContext.Response.StatusCode >= 400 && context.HttpContext.Response.StatusCode < 600) { CreateErrorLogCommand cmd = new CreateErrorLogCommand { httpstatuscode = context.HttpContext.Response.StatusCode, TimeOfError = DateTime.Now, RequestedId = (int)context.HttpContext.Items["Guid"], ExceptionMessage = context.Exception.Message, }; _logger.LogWarning( "Bad Status code of {StatusCode}", context.HttpContext.Response.StatusCode); _famousPersonService.CreateErrorLog(cmd); } context.ExceptionHandled = true; }
public int CreateErrorLog(CreateErrorLogCommand cmd) { var error = cmd.ToLog(); _context.Add(error); _context.SaveChanges(); return(error.Id); }