首页 > 编程语言 > 详细

Spring Boot 异常处理静止trace

时间:2019-12-03 20:31:03      阅读:91      评论:0      收藏:0      [点我收藏+]

概述

在spring boot 2.2 中 默认状态为status 999

    private void addStatus(Map<String, Object> errorAttributes, RequestAttributes requestAttributes) {
        Integer status = (Integer)this.getAttribute(requestAttributes, "javax.servlet.error.status_code");
        if (status == null) {
            errorAttributes.put("status", 999);
            errorAttributes.put("error", "None");
        } else {
            errorAttributes.put("status", status);

            try {
                errorAttributes.put("error", HttpStatus.valueOf(status).getReasonPhrase());
            } catch (Exception var5) {
                errorAttributes.put("error", "Http Status " + status);
            }

        }
    }

如果我们自定义异常信息, 默认会打印一串trace信息,但是我们不需要

 

技术分享图片

 

 解决办法:

 

 

@Component
public class AppErrorAttribute extends DefaultErrorAttributes {
    @Override
    public Map<String, Object> getErrorAttributes(WebRequest webRequest, boolean includeStackTrace) {
        Map<String, Object> map = super.getErrorAttributes(webRequest, includeStackTrace); // 这里参数可以配置为false
        map.put("url","www.blogdgw.com");
        map.put("ext",webRequest.getAttribute("ext",0));
        // 禁止trace 覆盖 
        //map.put("trace","");
        return map;
    }
}

 

Spring Boot 异常处理静止trace

原文:https://www.cnblogs.com/dgwblog/p/11978663.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!