• .netcore2.1 封装全局打印异常信息过滤器


    • 设置异常信息拦截
    复制代码
     public class GlobalExceptionFilter : IExceptionFilter
        {
            readonly ILogger _logger;
    
            public GlobalExceptionFilter(ILogger<GlobalExceptionFilter> logger)
            {
                _logger = logger;
            }
    
            public void OnException(ExceptionContext context)
            {
                _logger.LogError(context.Exception, context.Exception.Message);
                if (context.Exception is ShowMessageException)
                {
                    context.Result = new JsonResult(context.Exception.Message);
                }
                else
                {
                  
                    context.Result = new JsonResult("服务器异常");
                }
    
    
                context.ExceptionHandled = true;
            }
        }
    复制代码
    • 定义异常类
       public class ShowMessageException : Exception
        {
            public ShowMessageException(string message) : base(message)
            { }
        }
    •  在Startup.cs文件中,注入服务
    复制代码
       public void ConfigureServices(IServiceCollection services)
            {
    
                //filters
                services.AddScoped<GlobalExceptionFilter>();
    
    
    
            }
    复制代码
  • 相关阅读:
    [bzoj1095] [ZJOI2007]Hide 捉迷藏
    [bzoj3730] 震波
    [bzoj3672] [Noi2014]购票
    [bzoj4129] Haruna’s Breakfast
    《CSS3知识点》
    《表单总结》
    <表格>
    《HTML总结》
    <java程序大集合>
    《字符串的概念》
  • 原文地址:https://www.cnblogs.com/dxqNet/p/15532119.html
Copyright © 2020-2023  润新知