This is an automated email from the ASF dual-hosted git repository.

chufenggao pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new df963f8393 [Improvement] Add call cost time for api (#13518)
df963f8393 is described below

commit df963f8393631b569802c08af244a7a7d4afc1a1
Author: caishunfeng <[email protected]>
AuthorDate: Thu Feb 9 14:29:23 2023 +0800

    [Improvement] Add call cost time for api (#13518)
---
 .../api/aspect/AccessLogAnnotation.java               |  2 --
 .../dolphinscheduler/api/aspect/AccessLogAspect.java  | 19 +++++++++++--------
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
index dd62af88de..9b3f55c6e5 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
@@ -32,6 +32,4 @@ public @interface AccessLogAnnotation {
     String[] ignoreRequestArgs() default {"loginUser"};
 
     boolean ignoreRequest() default false;
-
-    boolean ignoreResponse() default true;
 }
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
index 19d783cad5..6fc123a8b7 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
@@ -65,6 +65,15 @@ public class AccessLogAspect {
     public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws 
Throwable {
         long startTime = System.currentTimeMillis();
 
+        String URI = null;
+        String requestMethod = null;
+        ServletRequestAttributes attributes = (ServletRequestAttributes) 
RequestContextHolder.getRequestAttributes();
+        if (attributes != null) {
+            HttpServletRequest request = attributes.getRequest();
+            URI = request.getRequestURI();
+            requestMethod = request.getMethod();
+        }
+
         // fetch AccessLogAnnotation
         MethodSignature sign = (MethodSignature) 
proceedingJoinPoint.getSignature();
         Method method = sign.getMethod();
@@ -74,12 +83,10 @@ public class AccessLogAspect {
 
         // log request
         if (!annotation.ignoreRequest()) {
-            ServletRequestAttributes attributes =
-                    (ServletRequestAttributes) 
RequestContextHolder.getRequestAttributes();
             if (attributes != null) {
                 HttpServletRequest request = attributes.getRequest();
                 String traceIdFromHeader = request.getHeader(TRACE_ID);
-                if (!StringUtils.isEmpty(traceIdFromHeader)) {
+                if (StringUtils.isNotEmpty(traceIdFromHeader)) {
                     traceId = traceIdFromHeader;
                 }
                 // handle login info
@@ -103,11 +110,7 @@ public class AccessLogAspect {
 
         Object ob = proceedingJoinPoint.proceed();
 
-        // log response
-        if (!annotation.ignoreResponse()) {
-            log.info("RESPONSE TRACE_ID:{}, BODY:{}, REQUEST DURATION:{} 
milliseconds", traceId, ob,
-                    (System.currentTimeMillis() - startTime));
-        }
+        log.info("Call {}:{} success, cost: {}ms", requestMethod, URI, 
(System.currentTimeMillis() - startTime));
 
         return ob;
     }

Reply via email to