使用这个aop日志处理, 在aspect中能获取,方法传入的入参吗
可以啊,joinPoint.getArgs()就可以了(JoinPoint是隐性的传入参数)
上代码来得直接:
// 一般,需要记录的信息有: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());
}