zoukankan      html  css  js  c++  java
  • 全局异常处理

    1.   全局异常处理

    1.1. 处理思路

      

    1.2. log4j日志配置文件

      slf4j是一个日志框架,是一个顶层的日志系统,底层实现可以是log4j也可以是commons-logging。在项目中使用顶层的slf4j接口。

      log4j是对抽象的slf4j的具体实现。

      classPath路径下创建文件 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=
    
    [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    1.3. 创建全局异常处理器

    public class GlobalExceptionReslover implements HandlerExceptionResolver {
    
        Logger logger = LoggerFactory.getLogger(GlobalExceptionReslover.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");
            return modelAndView;
        }
    
    }


     

    1.4. Springmvc中配置异常处理器

     

  • 相关阅读:
    亨元模式
    模板方法模式
    组合模式
    命令模式
    Android AIDL使用介绍(2)自定义数据类型的传递*
    Android主线程(ActivityThread)源代码分析
    一个简单的死锁代码*
    ABA问题的本质及其解决办法*
    Java 多线程Atomic 与CAS 原理剖析*
    Java并发编程:volatile关键字解析*
  • 原文地址:https://www.cnblogs.com/arjenlee/p/9223908.html
Copyright © 2011-2022 走看看