// using MoYu.DependencyInjection; using MoYu.FriendlyException; using Microsoft.Extensions.Logging; namespace SafeCampus.Web.Core; /// /// 全局异常处理提供器 /// public class LogExceptionHandler : IGlobalExceptionHandler, ISingleton { private readonly ILogger _logger; public LogExceptionHandler(ILogger logger) { _logger = logger; } public async Task OnExceptionAsync(ExceptionContext context) { var exception = context.Exception;//获取异常 //如果异常类型不是友好异常 if (exception.GetType() != typeof(AppFriendlyException)) { _logger.LogError(exception, exception.Message); //重新定义异常 context.Exception = new AppFriendlyException("系统异常,请联系管理员", ErrorCodeEnum.A0000); } await Task.CompletedTask; } }