Springboot全局捕获异常+异常入库
唐某 2020-05-07 13:14:17 2020-05-07 215 0
/** * 指定拦截的异常 * 0.捕获所有异常,默认级别为RuntimeException,这里ExceptionHandler参数指定为Exception所有异常 * @param request * @param response * @param e * @return * @throws Exception */ @ResponseBody @ExceptionHandler(value = Exception.class) public Object errorHandler(HttpServletRequest request, HttpServletResponse response, Exception e) throws Exception{ Map<String,String> map = new HashMap(2); response.setStatus(500); map.put("msg","服务器异常,异常信息:"+e.toString()); //1.打印异常,可在日志里查看 log.error("=================================================================="); log.error(e.toString()); log.error("=================================================================="); //2.异常入库 MyException myException = new MyException(); myException.setIp(BasicUtil.getIpAddr(request)); myException.setCreateDate(new Date()); myException.setUrl(request.getRequestURL().toString()); myException.setDescription(e.toString()); myException.setUsername( (SecurityContextHolder.getContext().getAuthentication().getName()+"") .replace("anonymousUser","未登录")); myExceptionService.insertSelective(myException); //3.返回异常 return map; }