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

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 54ac28822 [SCB-2813]fix access log related problems (#4032)
54ac28822 is described below

commit 54ac28822aad42fe899f945adea02fe5fd885d69
Author: liubao68 <[email protected]>
AuthorDate: Mon Nov 13 18:01:19 2023 +0800

    [SCB-2813]fix access log related problems (#4032)
---
 .../servicecomb/common/accessLog/AccessLogConfiguration.java       | 2 ++
 .../common/accessLog/client/ClientDefaultInitializer.java          | 5 ++---
 .../common/accessLog/core/element/impl/UrlPathAccessItem.java      | 3 +--
 .../common/accessLog/server/ServerDefaultInitializer.java          | 2 +-
 ...rg.springframework.boot.autoconfigure.AutoConfiguration.imports | 0
 .../common/accessLog/core/element/impl/UrlPathItemTest.java        | 7 +------
 .../apache/servicecomb/config/ConfigEnvironmentPostProcessor.java  | 2 ++
 .../apache/servicecomb/config/FoundationConfigConfiguration.java   | 6 ------
 .../servicecomb/metrics/core/publish/SlowInvocationLogger.java     | 6 +++---
 .../servicecomb/metrics/core/publish/TestSlowInvocationLogger.java | 6 +++---
 solutions/solution-basic/src/main/resources/microservice.yaml      | 6 ++++--
 11 files changed, 19 insertions(+), 26 deletions(-)

diff --git 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
index 8de504201..cb5e92a20 100644
--- 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
+++ 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
@@ -17,7 +17,9 @@
 package org.apache.servicecomb.common.accessLog;
 
 import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
 
+@Configuration
 public class AccessLogConfiguration {
   @Bean
   public AccessLogBootListener accessLogBootListener() {
diff --git 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
index 658cea9fa..43e5ad9b1 100644
--- 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
+++ 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
@@ -21,7 +21,6 @@ import 
org.apache.servicecomb.common.accessLog.AccessLogConfig;
 import org.apache.servicecomb.common.accessLog.AccessLogInitializer;
 import org.apache.servicecomb.common.accessLog.core.AccessLogGenerator;
 import org.apache.servicecomb.core.event.InvocationFinishEvent;
-
 import org.apache.servicecomb.swagger.invocation.InvocationType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -31,7 +30,7 @@ import com.google.common.eventbus.EventBus;
 import com.google.common.eventbus.Subscribe;
 
 public class ClientDefaultInitializer implements AccessLogInitializer {
-  private static final Logger LOGGER = LoggerFactory.getLogger("requestlog");
+  private static final Logger LOGGER = LoggerFactory.getLogger("scb-access");
 
   private AccessLogGenerator accessLogGenerator;
 
@@ -48,7 +47,7 @@ public class ClientDefaultInitializer implements 
AccessLogInitializer {
   @AllowConcurrentEvents
   public void onRequestOut(InvocationFinishEvent finishEvent) {
     if 
(InvocationType.CONSUMER.equals(finishEvent.getInvocation().getInvocationType()))
 {
-        LOGGER.info(accessLogGenerator.generateClientLog(finishEvent));
+      LOGGER.info(accessLogGenerator.generateClientLog(finishEvent));
     }
   }
 }
diff --git 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
index 98b2eac74..5435a22cf 100644
--- 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
+++ 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
@@ -25,7 +25,6 @@ import org.apache.servicecomb.core.definition.OperationMeta;
 import org.apache.servicecomb.core.definition.SchemaMeta;
 import org.apache.servicecomb.core.event.InvocationFinishEvent;
 import org.apache.servicecomb.core.event.ServerAccessLogEvent;
-import org.apache.servicecomb.swagger.SwaggerUtils;
 import 
org.apache.servicecomb.transport.rest.client.RestClientRequestParameters;
 
 import io.vertx.core.http.HttpServerRequest;
@@ -50,7 +49,7 @@ public class UrlPathAccessItem implements 
AccessLogItem<RoutingContext> {
     OperationMeta operationMeta = 
finishEvent.getInvocation().getOperationMeta();
     SchemaMeta schemaMeta = finishEvent.getInvocation().getSchemaMeta();
     if (operationMeta != null && schemaMeta != null && schemaMeta.getSwagger() 
!= null) {
-      
builder.append(SwaggerUtils.getBasePath(schemaMeta.getSwagger())).append(operationMeta.getOperationPath());
+      builder.append(operationMeta.getOperationPath());
       return;
     }
     RestClientRequestParameters restRequestImpl = 
(RestClientRequestParameters) finishEvent.getInvocation()
diff --git 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
index c528b67f9..7baf69dd8 100644
--- 
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
+++ 
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
@@ -31,7 +31,7 @@ import com.google.common.eventbus.Subscribe;
 
 public class ServerDefaultInitializer implements AccessLogInitializer {
 
-  private static final Logger LOGGER = LoggerFactory.getLogger("accesslog");
+  private static final Logger LOGGER = LoggerFactory.getLogger("scb-access");
 
   private AccessLogGenerator accessLogGenerator;
 
diff --git 
a/common/common-access-log/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 
b/common/common-access-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
similarity index 100%
rename from 
common/common-access-log/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
rename to 
common/common-access-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
diff --git 
a/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
 
b/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
index 2eff49b80..d1601609a 100644
--- 
a/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
+++ 
b/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
@@ -19,7 +19,6 @@ package 
org.apache.servicecomb.common.accessLog.core.element.impl;
 
 import static org.mockito.Mockito.when;
 
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -36,7 +35,6 @@ import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.servers.Server;
 import io.vertx.core.http.HttpClientRequest;
 import io.vertx.core.http.HttpServerRequest;
 import io.vertx.ext.web.RoutingContext;
@@ -85,14 +83,11 @@ public class UrlPathItemTest {
 
   @Test
   public void clientFormattedElement() {
-    String uri = "/base/test";
+    String uri = "/test";
     when(finishEvent.getInvocation()).thenReturn(invocation);
     when(invocation.getOperationMeta()).thenReturn(operationMeta);
     when(invocation.getSchemaMeta()).thenReturn(schemaMeta);
     when(schemaMeta.getSwagger()).thenReturn(swagger);
-    Server server = Mockito.mock(Server.class);
-    when(server.getUrl()).thenReturn("/base");
-    when(swagger.getServers()).thenReturn(Arrays.asList(server));
     when(operationMeta.getOperationPath()).thenReturn("/test");
 
     ITEM.appendClientFormattedItem(finishEvent, strBuilder);
diff --git 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
index 0edb84541..295bb2e1d 100644
--- 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
+++ 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
@@ -23,6 +23,7 @@ import java.util.stream.Collectors;
 
 import org.apache.servicecomb.config.file.MicroserviceConfigLoader;
 import org.apache.servicecomb.foundation.bootstrap.BootStrapService;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
 import org.apache.servicecomb.foundation.common.utils.SPIServiceUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -47,6 +48,7 @@ public class ConfigEnvironmentPostProcessor implements 
EnvironmentPostProcessor
 
   @Override
   public void postProcessEnvironment(ConfigurableEnvironment environment, 
SpringApplication application) {
+    LegacyPropertyFactory.setEnvironment(environment);
     addMicroserviceDefinitions(environment);
     startupBootStrapService(environment);
     addDynamicConfigurationToSpring(environment);
diff --git 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
index 9cb7c231a..152119f7d 100644
--- 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
+++ 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
@@ -20,7 +20,6 @@ import 
org.apache.servicecomb.config.inject.InjectBeanPostProcessor;
 import org.apache.servicecomb.config.priority.ConfigObjectFactory;
 import org.apache.servicecomb.config.priority.PriorityPropertyFactory;
 import org.apache.servicecomb.config.priority.PriorityPropertyManager;
-import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -60,11 +59,6 @@ public class FoundationConfigConfiguration {
     return new DataCenterProperties();
   }
 
-  @Bean
-  public LegacyPropertyFactory legacyPropertyFactory(Environment environment) {
-    return new LegacyPropertyFactory(environment);
-  }
-
   @Bean
   public InMemoryDynamicPropertiesSource inMemoryDynamicPropertiesSource() {
     return new InMemoryDynamicPropertiesSource();
diff --git 
a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
 
b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
index 679e54457..b0417b239 100644
--- 
a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
+++ 
b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
@@ -104,7 +104,7 @@ public class SlowInvocationLogger {
         .append(formatPair("  ", "http method", 
restOperationMeta.getHttpMethod()))
         .append(formatPair("  ", "url", restOperationMeta.getAbsolutePath()))
         .append(formatPair("  ", "endpoint", collectClientAddress(invocation)))
-        .append(formatPair("  ", "status code", response.getStatusCode()))
+        .append(formatPair("  ", "status code", 
String.valueOf(response.getStatusCode())))
 
         .append(formatPair("    ", STAGE_TOTAL, stageTrace.calcTotal()))
         .append(formatPair("    ", STAGE_PREPARE, stageTrace.calcPrepare()))
@@ -141,7 +141,7 @@ public class SlowInvocationLogger {
         .append(formatPair("  ", "http method", 
restOperationMeta.getHttpMethod()))
         .append(formatPair("  ", "url", restOperationMeta.getAbsolutePath()))
         .append(formatPair("  ", "endpoint", collectTargetAddress(invocation)))
-        .append(formatPair("  ", "status code", response.getStatusCode()))
+        .append(formatPair("  ", "status code", 
String.valueOf(response.getStatusCode())))
         .append(formatPair("    ", STAGE_TOTAL, stageTrace.calcTotal()))
         .append(formatPair("    ", STAGE_PREPARE, stageTrace.calcPrepare()))
         .append(formatPair("    ", STAGE_CONSUMER_CONNECTION, 
stageTrace.calcConnection()))
@@ -169,7 +169,7 @@ public class SlowInvocationLogger {
         .append(formatPair("  ", "http method", 
restOperationMeta.getHttpMethod()))
         .append(formatPair("  ", "url", restOperationMeta.getAbsolutePath()))
         .append(formatPair("  ", "endpoint", collectTargetAddress(invocation)))
-        .append(formatPair("  ", "status code", response.getStatusCode()))
+        .append(formatPair("  ", "status code", 
String.valueOf(response.getStatusCode())))
         .append(formatPair("    ", STAGE_TOTAL, stageTrace.calcTotal()))
         .append(formatPair("    ", STAGE_PREPARE, stageTrace.calcPrepare()))
         .append(formatPair("    ", STAGE_PROVIDER_DECODE_REQUEST, 
stageTrace.calcProviderDecodeRequest()))
diff --git 
a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
 
b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
index 6d172118d..34f8a8548 100644
--- 
a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
+++ 
b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
@@ -127,7 +127,7 @@ public class TestSlowInvocationLogger {
               http method       :                 null
               url               :                 null
               endpoint          :  rest://1.1.1.1:1234
-              status code       :      0.0ms
+              status code       :                    0
                 total           :      0.0ms
                 prepare         :      0.0ms
                 connection      :      0.0ms
@@ -168,7 +168,7 @@ public class TestSlowInvocationLogger {
               http method       :                 null
               url               :                 null
               endpoint          :  rest://1.1.1.1:1234
-              status code       :      0.0ms
+              status code       :                    0
                 total           :      0.0ms
                 prepare         :      0.0ms
                 provider-decode :      0.0ms
@@ -212,7 +212,7 @@ public class TestSlowInvocationLogger {
               http method       :                 null
               url               :                 null
               endpoint          :         1.1.1.1:1234
-              status code       :      0.0ms
+              status code       :                    0
                 total           :      0.0ms
                 prepare         :      0.0ms
                 provider-decode :      0.0ms
diff --git a/solutions/solution-basic/src/main/resources/microservice.yaml 
b/solutions/solution-basic/src/main/resources/microservice.yaml
index 5ad15287d..dbfa47b21 100644
--- a/solutions/solution-basic/src/main/resources/microservice.yaml
+++ b/solutions/solution-basic/src/main/resources/microservice.yaml
@@ -23,10 +23,12 @@ servicecomb:
 # metrics and access log
   accesslog:
     enabled: true
+    pattern: "|%h|%r|%s|%D"
+
   metrics:
-    window_time: 60000
+    window_time: 300000
     invocation:
-      latencyDistribution: 0,1,10,100,1000
+      latencyDistribution: 0,10,50,100,1000
     Consumer.invocation.slow:
       enabled: true
       msTime: 1000

Reply via email to