一个思路: 1、写个静态类,定义静态变量,把所有要用到的service(假设AOP拦截到service层)实现类都写成key,value的形式,如: Map modeMap=new HashMap(); map.put("UserServiceImpl","用户管理")//用于记录类与模块的对应关系。 2、写静态变量,把定义的方法与日志中记录的描述对应。 methodMap.put("add_UserInfo",'添加用户信息'); methodMap.put("update_UserInfo",'修改用户信息'); 3、写AOP切入点: @Resource(name = "baseDao") private BaseDao baseDao; @Pointcut("execution (* com.web.*.*.service.*.*(..))") // 切入点作用域 private void anyMethod() { }// 声明一个切入点应用方法 @SuppressWarnings("unchecked") @AfterReturning(pointcut = "anyMethod()", returning = "result") public void doAfterReturning(JoinPoint join, Object result) { String classname = join.getTarget().getClass().getName();//获取当前的类名 String method = join.getSignature().getName();//方法名 //再在上述静态MAP里找模块名字和方法描述,略.. //下述session中获取当前用户信息,略.. HttpSession session = HttpRequester.getHttpSession(); //组装日志对象,调用baseDao的方法写日志,略. }
spring aop写日志
最新推荐文章于 2024-08-31 19:19:34 发布