您的位置:首页 > 编程语言 > Java开发

springmvc控制器错误拦截统一处理

2016-03-09 00:00 483 查看
使用@ControllerAdvice注解,实现对所有控制器错误信息的拦截.

java类:

package com.yourubber.web;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

@ControllerAdvice
public class ExceptionHandlerController {
private static final Logger logger = Logger.getLogger(ExceptionHandlerController.class);
public static final String DEFAULT_ERROR_VIEW = "error";// 错误页面

@ExceptionHandler(value = { Exception.class, RuntimeException.class })
public ModelAndView defaultErrorHandler(HttpServletRequest request, Exception e) {
ModelAndView mav = new ModelAndView(DEFAULT_ERROR_VIEW);
// 将堆栈信息输出
logger.error(e.getMessage(), e);
return mav;
}
}

log4j配置文件:

log4j.rootLogger=DEBUG,console,INFO_FIle,ERROR_FILE

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.threshold=INFO
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n

log4j.appender.INFO_FIle=org.apache.log4j.RollingFileAppender
log4j.appender.INFO_FIle.Append=true
log4j.appender.INFO_FIle.File=/deploy/yourubber/info.log
log4j.appender.INFO_FIle.Threshold=INFO
log4j.appender.INFO_FIle.layout=org.apache.log4j.PatternLayout
log4j.appender.INFO_FIle.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
log4j.appender.INFO_FIle.MaxFileSize=10MB

log4j.appender.ERROR_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ERROR_FILE.Append=true
log4j.appender.ERROR_FILE.File=/deploy/yourubber/error.log
log4j.appender.ERROR_FILE.Threshold=ERROR
log4j.appender.ERROR_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ERROR_FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
log4j.appender.ERROR_FILE.MaxFileSize=10MB
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: