请问 ASP.NET Core 中处理所有未处理异常的 middleware 是哪个?想找到这个 middleware 知道异常是如果被写入错误日志的
找到了,是 ExceptionHandlerMiddleware
写错误日志的代码:
_logger.UnhandledException(ex);
DiagnosticsLoggerExtensions 中对应的实现代码
private static readonly Action<ILogger, Exception> _unhandledException =
LoggerMessage.Define(LogLevel.Error, new EventId(1, "UnhandledException"), "An unhandled exception has occurred while executing the request.");
public static void UnhandledException(this ILogger logger, Exception exception)
{
_unhandledException(logger, exception);
}