فهرست منبع

feat:添加日志

zhaohaipeng 11 ماه پیش
والد
کامیت
e8d4283994

+ 35 - 0
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/util/JSONUtils.java

@@ -2,14 +2,49 @@ package com.tzld.piaoquan.ad.engine.commons.util;
 
 import com.alibaba.fastjson.JSONObject;
 import com.google.common.reflect.TypeToken;
+import com.google.gson.ExclusionStrategy;
+import com.google.gson.FieldAttributes;
 import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Objects;
+
 public class JSONUtils {
 
     private static final Logger log = LoggerFactory.getLogger(JSONUtils.class);
+
+    public static String toJson(Object obj, Collection<String> ignoreFieldName) {
+        if (Objects.isNull(obj)) {
+            return "";
+        }
+        try {
+
+            ExclusionStrategy strategy = new ExclusionStrategy() {
+                @Override
+                public boolean shouldSkipField(FieldAttributes fieldAttributes) {
+                    return CollectionUtils.isNotEmpty(ignoreFieldName) &&
+                            ignoreFieldName.contains(fieldAttributes.getName());
+                }
+
+                @Override
+                public boolean shouldSkipClass(Class<?> aClass) {
+                    return false;
+                }
+            };
+            return new GsonBuilder().setExclusionStrategies(strategy).create().toJson(obj);
+        } catch (Exception e) {
+            log.error("toJsonIgnoreField exception: ", e);
+            return "";
+        }
+    }
+
     public static String toJson(Object obj) {
         if (obj == null) {
             return "";

+ 10 - 6
ad-engine-server/src/main/java/com/tzld/piaoquan/ad/engine/server/controller/ControllerAspect.java

@@ -1,6 +1,7 @@
 package com.tzld.piaoquan.ad.engine.server.controller;
 
 import com.google.common.base.Stopwatch;
+import com.google.common.collect.Sets;
 import com.tzld.piaoquan.ad.engine.commons.util.JSONUtils;
 import com.tzld.piaoquan.ad.engine.commons.util.TraceUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -12,6 +13,7 @@ import org.aspectj.lang.annotation.Pointcut;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.springframework.stereotype.Component;
 
+import java.util.Collections;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -23,12 +25,12 @@ import java.util.concurrent.TimeUnit;
 public class ControllerAspect {
 
     @Pointcut("execution(* com.tzld.piaoquan.ad.engine.server.controller.*Controller.*(..))")
-    public void logPointcut(){
+    public void logPointcut() {
 
     }
 
     @Pointcut("execution(* com.tzld.piaoquan.ad.engine.server.controller.HealthController.*(..))")
-    public void excludePointcut(){
+    public void excludePointcut() {
 
     }
 
@@ -39,13 +41,15 @@ public class ControllerAspect {
         String className = pjp.getTarget().getClass().getSimpleName();
         MethodSignature signature = (MethodSignature) pjp.getSignature();
         Stopwatch stopwatch = Stopwatch.createStarted();
-        log.info("request className=[{}], method=[{}], param=[{}]", className, signature.getName(),
-                JSONUtils.toJson(pjp.getArgs()));
+
+        String param = JSONUtils.toJson(pjp.getArgs(), Sets.newHashSet("statisticsLog"));
+
+        log.info("request className=[{}], method=[{}], param=[{}]", className, signature.getName(), param);
         Object result = pjp.proceed();
         if (result != null && result instanceof String) {
-            log.info("request method=[{}]  param=[{}] result=[{}] cost=[{}]", signature.getName(),JSONUtils.toJson(pjp.getArgs()),result, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
+            log.info("request method=[{}]  param=[{}] result=[{}] cost=[{}]", signature.getName(), param, result, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
         } else {
-            log.info("request method=[{}]  param=[{}] result=[{}] cost=[{}]", signature.getName(),JSONUtils.toJson(pjp.getArgs()), JSONUtils.toJson(result), stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
+            log.info("request method=[{}]  param=[{}] result=[{}] cost=[{}]", signature.getName(), param, JSONUtils.toJson(result), stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
         }
         TraceUtils.removeMDC();
         return result;

+ 7 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/param/StatisticsLogParam.java

@@ -16,4 +16,11 @@ public class StatisticsLogParam {
 
     private List<Long> finalCreativeIds;
 
+    private List<Long> commonFilterAfterAdIds;
+
+    private List<Long> commonFilterAfterCreativeIds;
+
+    private List<Long> tacticsFilterAfterAdIds;
+
+    private List<Long> tacticsFilterAfterCreativeIds;
 }