package com.vcredit.ddcash.monitor.controller;
import com.vcredit.ddcash.monitor.model.dto.Response;
import freemarker.template.utility.StringUtil;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;import java.util.HashMap;import java.util.Locale;import java.util.Map;/**
* Created by guanshuli on 2017/1/11. */@ControllerAdvicepublic class GlobalExceptionHandler { public static final String DEFAULT_ERROR_VIEW = "error"; public static Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);@ExceptionHandler(value = Throwable.class)
@ResponseBody public Object defaultErrorHandler(Throwable e, HttpServletRequest request) { Response response=new Response(); e.printStackTrace(); response.setStatus("接口异常"); response.setMsg("网络异常,请稍后重试"); this.writeLog(request, e); return response; }private void writeLog(HttpServletRequest request, Throwable e) {
Map<String, String> map = new HashMap<String, String>(); Enumeration<String> enumeration = request.getHeaderNames(); while (enumeration.hasMoreElements()) { String str = enumeration.nextElement().toString(); map.put(str, request.getHeader(str)); } map.put("getRequestURI", request.getRequestURI()); logger.error("请求异常,请求头:{};", map.toString(), e);}
}