Spring Boot+AOP记录日志
来源:互联网 发布:下载文件网页源码 编辑:程序博客网 时间:2024/06/16 02:36
1、pom.xml中加入web依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>
2、编写测试Controller和Service
@RestControllerpublic class TestController { @Autowired private TestService testService; @RequestMapping("/hello") public String doSomething(String name){ return testService.hello(name); }}
@Servicepublic class TestService { public String hello(String name){ try{ Thread.sleep(1000); }catch (Exception e){ e.printStackTrace(); } return "Hello "+name; }}
3、pom.xml中加入aop依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>
4、编写切面
@Aspect@Componentpublic class LogAspect { private static final Logger log = LoggerFactory.getLogger(LogAspect.class); ThreadLocal<Long> startTime = new ThreadLocal<>(); @Pointcut("execution(* com.wz.controller..*.*(..))") public void logPointcut(){} @Before("logPointcut()") public void doBefore(JoinPoint joinPoint) { log.info("[CLASS_METHOD] : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); log.info("[ARGS] : " + Arrays.toString(joinPoint.getArgs())); startTime.set(System.currentTimeMillis()); } @AfterReturning(returning = "ret", pointcut = "logPointcut()") public void doAfterReturning(Object ret) { log.info("[RESPONSE] : " + ret); log.info("[COST TIME] : " + (System.currentTimeMillis() - startTime.get())); } @AfterThrowing(throwing="ex", pointcut="logPointcut()") public void doAfterThrowing(Throwable ex) { log.error("[EXCEPTION] : " + ex); }}
源码地址:点击打开链接
0 0
- Spring Boot+AOP记录日志
- spring aop 日志记录
- Spring AOP记录日志!
- Spring AOP记录日志! .
- spring aop记录日志
- Spring AOP 记录日志
- Spring AOP日志记录
- Spring AOP 记录日志
- spring AOP--记录日志
- spring boot 日志记录
- Spring AOP记录系统日志
- spring aop记录日志,Log4j
- Spring AOP 完成日志记录
- Spring AOP 完成日志记录
- Spring AOP 完成日志记录
- Spring AOP 完成日志记录
- Spring AOP 系统日志记录
- Spring AOP 完成日志记录
- 在 CentOS 6.x 上安装最新版本的 git
- JavaMail发送QQ邮件
- 标识符和关键字与保留字
- Cookie与Session
- 苹果ATS(强制HTTPS)审核新政解码
- Spring Boot+AOP记录日志
- shell 几中专用修饰符 :- :+ := ${variable:offset:length}
- Android CircleRefreshLayout下拉刷新.
- Shell函数的7种用法介绍
- Hashtable
- Linux Shell 之 Shell中的函数调用
- 从零开始,为Android创建一个最简单的React Native Module
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- kali linux通过ssh+putty来实现远程登录(亲测有效)