1.在templates下创建一个error文件夹,里面存放404.flt,500.flt文件
默认情况下找不到资源文件或者500报错,springboot都会去templates/error下去找页面(不会这个路径以及名字找不到),然后显示出对应的页面,但是我们需要打印日志以及报错的请求路径:
package com.mooc.house.web.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import javax.servlet.http.HttpServletRequest;
/**
* 异常处理类
* @author sy
* @date 2019/3/15 16:51
*/
@ControllerAdvice
public class ExceptionHandlerController {
private static final Logger logger = LoggerFactory.getLogger(ExceptionHandlerController.class);
@ExceptionHandler(value = {Exception.class,RuntimeException.class})
public String handlerException(HttpServletRequest request,Exception e){
logger.error(e.getMessage(),e);
logger.error(request.getRequestURL()+"encounter 500");
return "error/500";
}
}