using Microsoft.AspNetCore.Diagnostics; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; namespace OI.Metrology.Archive.Controllers; [Route("/error")] public class ErrorHandlerController : Controller { private readonly ILogger _Logger; public ErrorHandlerController(ILogger logger) => _Logger = logger; public IActionResult Index() { IExceptionHandlerFeature? error = HttpContext.Features.Get(); if (error is null) { return Redirect("~/"); } else { _Logger.LogError("Unhandled exception: " + error.Error.ToString()); dynamic r = new { Message = error.Error is null ? "Error" : error.Error.Message }; return StatusCode(StatusCodes.Status500InternalServerError, r); } } }