日志是所有系统必不可少的部分,而AOP在MVC通常用于监控方法调用,可以生成一个traceid,记录从用户调用到底层数据库的数据链路,帮助监控和排查问题。

AOP

    现在做一个简单的前置切面,用来记录方法和入参,需要修改如下文件

   【SSM】整合AOP,日志框架和拦截器

 

public class ControllerAspect {

    private final static org.slf4j.Logger logger = LoggerFactory.getLogger(ControllerAspect.class);

    public void before(JoinPoint joinPoint) {
        MethodSignature methodSignature = (MethodSignature)joinPoint.getSignature();
        System.out.println("方法名:"+methodSignature.getMethod().getName()+" 参数列表:"+ArrayToParameterString(methodSignature.getParameterNames(),joinPoint.getArgs()));
    }
    private  String ArrayToParameterString(String[] parameterNames,Object[] parameterValues) {
        StringBuffer sb = new StringBuffer();
        if (parameterNames != null && parameterNames.length > 0) {
            for (int i = 0; i < parameterNames.length; i++) {
                sb.append(parameterNames[i]);
                sb.append(":");
                sb.append(parameterValues[i]);
                sb.append(";");
            }
        }
        return sb.toString();
    }
}
ControllerAspect.java

相关文章: