美文网首页Spring Boot实践记录
SpringBoot联调日志输出

SpringBoot联调日志输出

作者: Chinesszz | 来源:发表于2017-02-08 11:39 被阅读748次

    在日常生产中,在和前端联合调试的时候,可能会遇到很多情况,在出现问题时候,很不容易找到,那么如果能够检测前后台的交互数据,应该就很容易快速解决问题,哪么可以使用Aop去解析。

    • 首先因为aop包
            <!--aop依赖-->
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-aop</artifactId>
               <version>1.3.3.RELEASE</version>
           </dependency>
    
    • 配置切面类
    @Aspect
    @Component
    public class WebLogAspect {
       private final static Logger log = LoggerFactory.getLogger(WebLogAspect.class);
    
       /**
        * rest包和子包里面的所有方法
        */
       @Pointcut("execution(public * dragonfly.rest..*.*(..))")
       public void weblog() {
       }
    
       @Before("weblog()")
       public void doBefore(JoinPoint joinpoint) throws Throwable {
           // 接收到请求,记录请求内容
           ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
           HttpServletRequest request = attributes.getRequest();
           // 记录下请求内容
           log.info("URL : " + request.getRequestURL().toString());
           log.info("请求类型 : " + request.getMethod());
           log.info("请求IP : " + request.getRemoteAddr());
           log.info("方法 : " + joinpoint.getSignature().getDeclaringTypeName() + "." + joinpoint.getSignature().getName());
           log.info("参数列表 : " + Arrays.toString(joinpoint.getArgs()));
       }
    
       @AfterReturning(returning = "ret", pointcut = "weblog()")
       public void doAfterReturning(Object ret) throws Throwable {
           // 处理完请求,返回内容
           log.info("返回参数 : " + ret);
       }
    }
    
    • 哦了。
    2017-01-04 17:20:14.201  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : URL : http://localhost:10086/hi
    2017-01-04 17:20:14.202  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 请求方法HTTP_METHOD : GET
    2017-01-04 17:20:14.202  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 请求IP : 0:0:0:0:0:0:0:1
    2017-01-04 17:20:14.205  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 方法CLASS_METHOD : dragonfly.rest.DragonFlyControl.hi
    2017-01-04 17:20:14.206  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 参数列表ARGS : [123]
    2017-01-04 17:20:14.219  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 响应参数 : helloworld123
    
    ---------------getGoodsUrl方法开始执行---------------
    URL : http://139.198.2.112:32008/mybosc/getGoodsUrl/v1
    请求类型 : POST
    请求IP : 27.115.24.210
    方法 : dragonfly.rest.DragonFlyController.getGoodsUrl
    参数列表 : [110310018000034, 100000394947, 3700, 156, 20170124, 124811, 10201701241307131612, 0, Success]
    返回参数 : ModelAndView: reference to view with name 'redirect:http://mybosc.test.otosaas.com/order/coffee/100000394947'; model is null
    

    相关文章

      网友评论

        本文标题:SpringBoot联调日志输出

        本文链接:https://www.haomeiwen.com/subject/rysvittx.html