Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        public int CreateErrorLog(CreateErrorLogCommand cmd)
        {
            var error = cmd.ToLog();

            _context.Add(error);
            _context.SaveChanges();
            return(error.Id);
        }