定义一个切面类
@Aspect
@Slf4j
public class LogAopConfig {
@Around("@annotation(aopLog)")
public Object aopLog(ProceedingJoinPoint point, AopLog aopLog) throws Throwable {
final Signature signature = point.getSignature();
final String value = aopLog.value();
final String methodName = signature.getName();
log.info("开始执行:{}, 类名:{}, method:{}", StringUtils.isBlank(value) ? methodName : value, signature.getDeclaringType().getSimpleName(), methodName);
final List<Object> params = getCanJsonParams(point);
try {
if (aopLog.paramLog()) {
log.info("入参:{}", JSON.toJSONString(params));
}
} catch (Exception e) {
log.info("AOP打印入参出错:{}", ExceptionUtils.getStackTrace(e));
}
Object result = point.proceed();
try {
if (aopLog.retLog()) {