基于Spring Aop的日志实现

AOP的概念理解:面向切面编程,自定义一个类作为通知类,定义切入点标明那些类的那些方法需要处理,什么时机处理

                        五种通知类型  before  after  afterReturning  afterThrowing round

aop的使用步骤xml+注解形式

    1 定义类作为通知类  @component 作为切面 @Aspect

    2 在xml中开启支持       aop:aspect-autoproxy   @EnableAspectAutoProxy

    3 切入点的配置  pointCut("* cn.hehe.*.*(..))")

     4 @Before   等通知

需求:在请求方法时候记录 信息

1. 操作的用户名

User security权限框架的对象 通过

 

2. 请求的动作类名

jointPoint.getTarget.getSimpleName();

3. 请求的方法名

 

接入点jointPoint.getSingature.getName();

 

4. 请求的url路径

动作类上面配置的mapping加上方法上面的mapping

需要获取执行的类对象 和执行的方法对象

 

方法对象的获取分为无参数和有参数

  

5. 传递的参数

Arrays.toString(参数的数组);

6. 请求的ip地址

 

7. 访问的时间

新建时间保存

8. 执行花费的时间

当前时间 减去之前保存的对象中的访问时间

9. 执行结果的状态

根据执行后的通知类型 设置SUCCESS 或者EXCEPTION

10. 异常信息

e.getMsg(); 获取异常的信息

再写一个日志保存的service类在@AfterReturning@@AfterThrowing通知中保存到数据库即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值