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的方法写日志,略.
}