引入lombok
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
代碼中使用
在類上添加@Slf4j注解,就可以在類中使用log變量
@Aspect
@Slf4j
public class myaspect {
@Pointcut("execution(* site.yalong.controller..*.*(..))")
public void webLog() {
}
@Before("webLog()")
public void doBefore(JoinPoint joinPoint) throws Throwable {
// 接收到請求,記錄請求內容
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
// 記錄下請求內容
System.out.println("in");
log.info("\n\n有人訪問了:{}\nARGS :{}\n", request.getRequestURL().toString(), Arrays.toString(joinPoint.getArgs()));
}
}
@AfterReturning(returning = "object", pointcut = "webLog()")
public void doAfterReturning(Object object) throws Throwable {
// 處理完請求,返回內容
log.info("RESPONSE : " + object);
}
}
添加slf4依賴
注意,此時沒有slf4依賴,所以不可以使用log.xxx()方法
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
添加logback-classic依賴
此時雖然代碼不報錯,但是日志功能失效,缺少日志記錄工具
完整依賴如下:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
<!--日志-->
<!--logback-classic包含了slf4j-->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>