由於 在咱們寫代碼的時候 出現異常的時候, 有時候 控制檯會拋出不少其餘信息,apache
好比 debug,info,,,,反正不少,可能就把 異常信息給 跑過去了。服務器
因此LOG 記錄仍是須要的。session
因此這裏 總結了一下 應該記錄的相關內容。對於咱們快速排除錯誤確定有幫助ide
在生產環境也是適用的,能夠加速 把 session 裏面的內容也給打印出來更好。url
@Component public class GlobalExceptionHandler implements HandlerExceptionResolver { private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(GlobalExceptionHandler.class); @Override public ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response,Object obj,Exception ex){ ex.printStackTrace();//打印異常,方便問題追蹤 log.error("================ start 異常記錄=================================="); String url_error = "http://" + request.getServerName() // 服務器地址 + ":" + request.getServerPort() // 端口號 + request.getContextPath() // 項目名稱 + request.getServletPath() // 請求頁面或其餘地址 + "?" + (request.getQueryString()); // 參數 log.error("錯誤的來源完整異常地址:" + url_error); Map<String, String[]> pars = request.getParameterMap(); Set<String> parameterKey2 = pars.keySet(); Iterator<String> iterator2 = parameterKey2.iterator(); while (iterator2.hasNext()) { String tKey = iterator2.next(); String tValue = pars.get(tKey)[0]; log.error("request提交參數key:" + tKey + " , value值:" + tValue); } log.error(ex.getMessage(), ex);// 能夠把全部的異常堆棧信息打印出來 log.error("================ end 異常記錄==================================");