//package com.panzhihua.service_community.config; // //import java.lang.reflect.Method; //import java.util.Arrays; //import java.util.List; //import java.util.Map; //import java.util.stream.Collectors; //import java.util.stream.IntStream; // //import javax.servlet.http.HttpServletRequest; //import javax.servlet.http.HttpServletResponse; // //import org.aspectj.lang.ProceedingJoinPoint; //import org.aspectj.lang.annotation.Around; //import org.aspectj.lang.annotation.Aspect; //import org.aspectj.lang.annotation.Pointcut; //import org.aspectj.lang.reflect.MethodSignature; //import org.slf4j.Logger; //import org.slf4j.LoggerFactory; //import org.springframework.core.LocalVariableTableParameterNameDiscoverer; //import org.springframework.stereotype.Component; //import org.springframework.util.ObjectUtils; // //import com.alibaba.fastjson.JSONObject; //import com.panzhihua.common.model.vos.R; //import com.panzhihua.common.utlis.DateUtils; // //import lombok.extern.slf4j.Slf4j; // ///** // * 应用模块名称 // *
// * 代码描述 // *
// * 拦截controller,输出入参、响应内容和响应时间 Copyright: Copyright (C) 2021 XXX, Inc. All rights reserved. // *
// * Company: 成都呐喊信息技术有限公司 // *
// * // * @author manailin // * @since 2021/8/24 15:30 // */ //@Slf4j //@Aspect //@Component //public class ParamOutAspect { // // /** // * 记录特定日志的声明 // */ // private final Logger slowClassAndMethodLog = LoggerFactory.getLogger("slowClassAndMethodLog"); // /** // * 设定方法的执行时间限制毫秒数 // */ // private long maxReduceTime = 100; // // @Pointcut("execution(* com.panzhihua.service_community.api..*.*(..)) || execution (public * com.panzhihua.service_community.service..* (..))") // public void aspect() {} // // /** // * [方法描述] 环绕通知,拦截controller,输出请求参数、响应内容和响应时间 // * // * @param joinPoint // * @return java.lang.Object // * @author manailin // * @date 2021/8/24 17:04 // */ // @Around("aspect()") // public Object processLog(ProceedingJoinPoint joinPoint) { // log.info("进入方法性能检查方法"); // Method method = ((MethodSignature)joinPoint.getSignature()).getMethod(); // String className = method.getDeclaringClass().getName(); // // 获取方法名称 // String methodName = method.getName(); // // 获取参数名称 // LocalVariableTableParameterNameDiscoverer paramNames = new LocalVariableTableParameterNameDiscoverer(); // String[] params = paramNames.getParameterNames(method); // // 获取参数 // Object[] args = joinPoint.getArgs(); // // 过滤掉request和response,不能序列化 // List