aop 实现方法计时 日志
来源:互联网 发布:家用洗地机 知乎 编辑:程序博客网 时间:2024/06/05 23:52
代码:
package com.yh.webapp.aop;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.apache.struts2.ServletActionContext;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.aspectj.lang.reflect.MethodSignature;import org.springframework.stereotype.Component;import com.yh.webapp.model.Users;@Component@Aspectpublic class LogAop {private Logger log = LogManager.getLogger();public static final String edp="execution(* com.yh.webapp.service.*.*(..))";@Around(edp)public Object timeAround(ProceedingJoinPoint joinPoint){Object obj = null;Object [] args=joinPoint.getArgs(); long startTime = System.currentTimeMillis(); try { obj = joinPoint.proceed(args); } catch (Throwable e) { log.error("统计某方法执行耗时环绕通知出错", e); } // 获取执行的方法名 long endTime = System.currentTimeMillis(); MethodSignature signature = (MethodSignature) joinPoint.getSignature(); String methodName = signature.getDeclaringTypeName() + "." + signature.getName(); // 打印耗时的信息 Users user=(Users) ServletActionContext.getRequest().getSession().getAttribute("user");log.info("*****开始记录日志*****");if(user!=null){log.info("用户:"+user.getName()+" 执行了:"+joinPoint.getSignature().getName()+"耗时:"+(endTime - startTime));}else{log.info("用户未登陆:执行了:"+joinPoint.getSignature().getName()+"耗时:"+(endTime - startTime));} return obj; }}
0 0
- aop 实现方法计时 日志
- AOP实现日志拦截
- AOP实现日志管理
- 录音计时的实现方法
- 从头认识Spring-3.1 简单的AOP日志实现-某方法之前的前后记录日志
- 基于AOP的日志实现!
- spring aop实现日志功能
- Spring AOP实现日志记录
- Spring -aop 实现系统日志
- AOP实现数据库日志打印
- Spring AOP实现日志记录
- Spring AOP实现日志管理
- spring aop实现日志管理
- 实现Android计时与倒计时方法
- 实现Android计时与倒计时方法
- Android实现计时与倒计时方法
- 计时方法
- 从头认识Spring-3.2 简单的AOP日志实现-需要记录方法的运行时间
- bzoj 1948 [Ceoi2006]Connect 插头dp
- ExecuteNonQuery()返回受影响行数不适用select语句
- 查找算法之二分查找
- 基于Linux的Socket编程之TCP全双工Server-Client聊天程序
- ios中关于获取当前时间和截止时间的时间差
- aop 实现方法计时 日志
- 解决发布测试版和正式版修改N多代码的问题
- 那年,我开始编程
- 积性函数学习笔记
- 验证Xposed模块自身是否被启用
- CodeForces-716B. Complete the Word(模拟)
- 安卓APP版本更新及自动打开
- code review的看法
- 关于百度地图sdk,需要的sha1值