AOP记录日志
parent
6bea088b14
commit
5fd17517e4
|
@ -31,6 +31,16 @@
|
|||
<version>4.12</version>
|
||||
</dependency>
|
||||
|
||||
<!--AOP依赖包-->
|
||||
<dependency>
|
||||
<groupId>org.aspectj</groupId>
|
||||
<artifactId>aspectjweaver</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.baidu.aip</groupId>
|
||||
<artifactId>java-sdk</artifactId>
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
package com.dragon.vehicle.company.server.aop;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* 记录日志
|
||||
*
|
||||
* @author HuZhiYong
|
||||
* @version 2023/11/23 - 11:06
|
||||
*/
|
||||
@Aspect
|
||||
@Component
|
||||
public class AopLog {
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
ThreadLocal<Long> startTime=new ThreadLocal<>();
|
||||
|
||||
/**
|
||||
* 定义需要被拦截的切点
|
||||
*/
|
||||
@Pointcut("execution(public * com.dragon.vehicle.company.server.controller.*.*(..))")
|
||||
public void pointcut(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
startTime.set(System.currentTimeMillis());
|
||||
//使用ServletRequestAttributes请求上下文获取方法更多
|
||||
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
HttpServletRequest request = attributes.getRequest();
|
||||
String className = joinPoint.getSignature().getDeclaringTypeName();
|
||||
String methodName = joinPoint.getSignature().getName();
|
||||
LocalDateTime start = LocalDateTime.now();
|
||||
|
||||
//使用数组获取参数
|
||||
Object[] array = joinPoint.getArgs();
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
//执行函数前打印日志
|
||||
logger.info("开始时间:"+start);
|
||||
logger.info("调用前:目标方法的类名:{},方法名:{},传递的参数为:{}",className,methodName,mapper.writeValueAsString(array));
|
||||
logger.info("URL:{}",request.getRequestURL().toString());
|
||||
logger.info("IP地址:{}",request.getRemoteAddr());
|
||||
//调用整个目标函数执行
|
||||
Object obj = joinPoint.proceed();
|
||||
//执行函数后打印日志
|
||||
logger.info("调用后:目标方法的类名:{},方法名:{},传递的参数为:{}",className,methodName,mapper.writeValueAsString(obj));
|
||||
logger.info("耗时:{}ms",System.currentTimeMillis()-startTime.get());
|
||||
return obj;
|
||||
}
|
||||
}
|
|
@ -9,6 +9,7 @@ import com.dragon.vehicle.company.common.domain.req.FirmQueryReq;
|
|||
import com.dragon.vehicle.company.common.domain.req.FrimUpdateReq;
|
||||
import com.dragon.vehicle.company.server.service.FirmService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
@ -18,7 +19,8 @@ public class FirmController {
|
|||
|
||||
@Autowired
|
||||
private FirmService firmService;
|
||||
|
||||
@Autowired
|
||||
private RedisTemplate redisTemplate;
|
||||
|
||||
/**
|
||||
* 企业信息录入
|
||||
|
@ -45,7 +47,7 @@ public class FirmController {
|
|||
|
||||
|
||||
/**
|
||||
* 查看数据
|
||||
* 查看企业列表
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
|
@ -55,6 +57,7 @@ public class FirmController {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 逻辑删除
|
||||
* @param firmId
|
||||
|
|
Loading…
Reference in New Issue