lwhhszx 2 years ago
parent
commit
124ac52c76

+ 84 - 0
RMS/src/main/java/cn/cslg/report/common/core/annotation/LoggerAspect.java

@@ -0,0 +1,84 @@
+package cn.cslg.report.common.core.annotation;
+
+import cn.cslg.report.common.model.DataSource;
+import cn.cslg.report.common.model.vo.PersonnelVO;
+import cn.cslg.report.common.utils.CacheUtils;
+import cn.cslg.report.common.utils.JsonUtils;
+import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
+import cn.cslg.report.common.utils.auth.TreeUtils;
+import cn.cslg.report.common.utils.auth.checkAuth;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.extern.slf4j.Slf4j;
+import okhttp3.FormBody;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.*;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Objects;
+
+@Order(3)
+@Aspect
+@Component
+@Slf4j
+public class LoggerAspect {
+
+
+    /**
+     * 定义切点
+     */
+    @Pointcut("execution( * cn.cslg.report.controller..*.*(..))")
+    public void annotationPointcut() {
+
+    }
+
+    /**
+     * @param joinPoint 当前执行的方法
+     */
+    @Around("annotationPointcut()")
+    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
+
+        //判断通过
+        return joinPoint.proceed();
+    }
+
+    @AfterThrowing(pointcut = "annotationPointcut()",throwing = "e")
+    public void doAfterThrowing(JoinPoint joinPoint, Throwable e){
+
+        //获取用户请求方法的参数并序列化为JSON格式字符串
+        String params = "";
+        if (joinPoint.getArgs()!=null&&joinPoint.getArgs().length>0){
+            for (int i = 0; i < joinPoint.getArgs().length; i++) {
+                params+= JsonUtils.objectToJson(joinPoint.getArgs()[i])+";";
+            }
+        }
+        try{
+            String str1 ="异常代码:" + e.getClass().getName();
+            String str2 ="异常信息:" + e.getMessage();
+            String str3="异常方法:" + (joinPoint.getTarget().getClass().getName() + "." + joinPoint.getSignature().getName() + "()");
+            String str4="请求参数:" + params;
+   log.error(str1+"\r"+str2+"\r"+str3+"\r"+str4);
+        }catch (Exception ex){
+            //记录本地异常日志
+            log.error("==异常通知异常==");
+            log.error("异常信息:{}", ex.getMessage());
+        }
+    }
+
+}
+

BIN
RMS/target/classes/cn/cslg/report/common/config/InnerInterceptor/LizzMybatisIntercepts.class