赞
踩
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
@Target({ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log {
String title() default "";
OperType type() default OperType.OTGER;
}
@Aspect
public class LogAspect {
@Pointcut("@annotation(log)")
public void webLog(Log log) {}
@Before("webLog(log)")
public void doBefore(JoinPoint joinPoint, Log log) {// 打印请求日志
System.out.println("before" + log);
}
@AfterReturning(returning = "ret", pointcut = "webLog(log)")
public void doAfterReturning(Object ret, Log log) {// 打印响应结果日志
System.out.println("doAfterReturning" + log);
}
}
@RestController
public class TestController {
@GetMapping("test")
@Log(title = "测试", type = OperType.GET)
public String test() {
return "hello";
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。