使用这个aop日志处理, 在aspect中能获取,方法传入的入参吗

来源:2-2 使用AOP处理请求(中)

imooc_yjy

2018-02-21 12:44

使用这个aop日志处理, 在aspect中能获取,方法传入的入参吗

写回答 关注

2回答

  • Oo脚印oO
    2018-02-22 12:11:56
    已采纳

    可以啊,joinPoint.getArgs()就可以了(JoinPoint是隐性的传入参数)

    imooc_...

    非常感谢!

    2018-03-06 16:51:56

    共 1 条回复 >

  • II_II
    2018-02-22 18:31:13

    上代码来得直接:

    // 一般,需要记录的信息有:url、method、ip、类方法、参数
    @Before("log()")
    public void doBefore(JoinPoint joinPoint){
       logger.info("Before");
       ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();       HttpServletRequest request  = attributes.getRequest();
       //url                                                //method
       logger.info("url={}",request.getRequestURL());       logger.info("method={}",request.getMethod());
       //ip                                                //类方法
       logger.info("ip={}",request.getRemoteAddr());        logger.info("class_method={}",joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName());
       //参数
       logger.info("args={}",joinPoint.getArgs());
    }

Spring Boot进阶之Web进阶

《2小时学习Spring Boot》之进阶教程,针对Web方面的相关技巧

104039 学习 · 393 问题

查看课程

相似问题