springmvc中全域性異常的處理
阿新 • • 發佈:2018-12-20
一、處理思路
二、建立全域性異常處理器
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class GlobalExceptionResolver implements HandlerExceptionResolver { Logger logger = LoggerFactory.getLogger(GlobalExceptionResolver.class); @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {//寫日誌檔案 logger.error("系統發生異常", ex); //發郵件、發簡訊 //Jmail:可以查詢相關的資料 //需要在購買簡訊。呼叫第三方介面即可。 //展示錯誤頁面 ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "系統發生異常,請稍後重試"); modelAndView.setViewName("error/exception"); returnmodelAndView; } }
三、在Springmvc中配置異常處理器
<!-- 全域性異常處理器 --> <bean class="cn.e3mall.search.exception.GlobalExceptionResolver"/>
四、在工程中引入log4j.properties配置檔案
注意:配置檔案的名字必須為log4j.properties,這樣log4j會自動載入,同時log4j的jar包也要加入到工程中
log4j.properties:
log4j.rootLogger=INFO,A3,STDOUT
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=[%p] [%l] %10.10c - %m%n
log4j.appender.A3=org.apache.log4j.RollingFileAppender
log4j.appender.A3.file=logs/server.log
log4j.appender.A3.MaxFileSize=1024KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=\n\n[%-5p] %d{yyyy-MM-dd HH\:mm\:ss,SSS} method\:%l%n%m%n