1 <dependency>
2 <groupId>org.springframework.boot</groupId>
3 <artifactId>spring-boot-starter-aop</artifactId>
4 </dependency>
5 <dependency>
6 <groupId>cglib</groupId>
7 <artifactId>cglib</artifactId>
8 <version>2.2.2</version>
9 </dependency>
1 #aop
2 spring.aop.proxy-target-class=true
1 package cn.creditcrest.finance.rest.advice;
2
3 import org.aspectj.lang.JoinPoint;
4 import org.aspectj.lang.annotation.AfterThrowing;
5 import org.aspectj.lang.annotation.Aspect;
6 import org.aspectj.lang.annotation.Pointcut;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
9 import org.springframework.stereotype.Component;
10
11 @Aspect
12 @Component
13 public class GlobalAspect {
14
15 @Pointcut("execution(public * cn.creditcrest.finance..*.*(..))")
16 public void pcMethod(){};
17
18 @AfterThrowing(pointcut = "pcMethod()",throwing="e")
19 public void doException(JoinPoint jp,Throwable e){
20 if(e!=null){
21 Logger logger = LoggerFactory.getLogger(jp.getSignature().getClass());
22 logger.error(e.getMessage(),e);
23 }
24 }
25
26 }