private void LogExceptionHandled(Exception exception, ProblemDetails problemResponse, Type handledExceptionType) { var exceptionTypeName = typeof(AggregateNotFoundException) == handledExceptionType ? "NotFoundException" : handledExceptionType.Name; _logger.LogInformation( 0, exception, "[{ErrorNumber}] {HandledExceptionType} handled: {ExceptionMessage}", problemResponse.ProblemInstanceUri, exceptionTypeName, problemResponse.Detail); }
private ProblemDetails MapStatusCode(HttpContext context, int statusCode) => !ApiOptions.SuppressMapClientErrors && ApiOptions.ClientErrorMapping.TryGetValue(statusCode, out var errorData) ? new ProblemDetails { HttpStatus = statusCode, ProblemTypeUri = errorData.Link, Title = errorData.Title, Detail = string.Empty, ProblemInstanceUri = ProblemDetails.GetProblemNumber() } : new StatusCodeProblemDetails(statusCode) { Detail = string.Empty, ProblemInstanceUri = ProblemDetails.GetProblemNumber() };
private ProblemDetails HandleUnhandledException(Exception exception) { var problemResponse = new ProblemDetails { HttpStatus = StatusCodes.Status500InternalServerError, Title = ProblemDetails.DefaultTitle, Detail = "", ProblemTypeUri = _problemDetailsHelper.GetExceptionTypeUriFor <UnhandledException>(), ProblemInstanceUri = ProblemDetails.GetProblemNumber() }; if (exception != null) { _logger.LogError(0, exception, "[{ErrorNumber}] Unhandled exception!", problemResponse.ProblemInstanceUri); } return(problemResponse); }