You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by xi...@apache.org on 2022/06/29 14:54:38 UTC

[incubator-shenyu] branch master updated: [type:refactor] optimize logging-elasticsearch&rocketmq plugin (#3634)

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

xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new f11c8b1ef [type:refactor] optimize logging-elasticsearch&rocketmq plugin (#3634)
f11c8b1ef is described below

commit f11c8b1ef1ab5cc055c56942358e2d71239c7062
Author: qinghai777 <80...@users.noreply.github.com>
AuthorDate: Wed Jun 29 22:54:30 2022 +0800

    [type:refactor] optimize logging-elasticsearch&rocketmq plugin (#3634)
    
    * optimize logging-elasticsearch&rocketmq plugin
    
    * optimize logging-elasticsearch&rocketmq plugin again
---
 .../elasticsearch/LoggingElasticSearchPlugin.java  |  3 ++-
 .../LoggingElasticSearchServerHttpRequest.java     |  4 ++--
 .../body/LoggingElasticSearchServerResponse.java   | 10 +++++-----
 .../ElasticSearchLogCollectClient.java             | 22 +++++++++++-----------
 .../{ => client}/LogConsumeClient.java             |  2 +-
 .../{ => collector}/AbstractLogCollector.java      |  3 ++-
 .../{ => collector}/DefaultLogCollector.java       |  3 ++-
 .../{ => collector}/LogCollector.java              |  2 +-
 .../elasticsearch/config/LogCollectConfig.java     |  3 +++
 .../LoggingElasticSearchPluginDataHandler.java     |  4 ++--
 ...LoggingElasticSearchServerHttpResponseTest.java |  2 +-
 .../{ => collector}/DefaultLogCollectorTest.java   |  5 +++--
 .../LoggingElasticSearchPluginDataHandlerTest.java |  2 +-
 .../logging/rocketmq/LoggingRocketMQPlugin.java    |  1 +
 .../rocketmq/body/LoggingServerHttpResponse.java   |  4 ++--
 .../rocketmq/{ => client}/LogConsumeClient.java    |  2 +-
 .../RocketMQLogCollectClient.java                  |  3 +--
 .../{ => collector}/AbstractLogCollector.java      | 20 ++++++++++++++++----
 .../{ => collector}/DefaultLogCollector.java       |  3 ++-
 .../rocketmq/{ => collector}/LogCollector.java     |  2 +-
 .../logging/rocketmq/config/LogCollectConfig.java  |  3 +++
 .../handler/LoggingRocketMQPluginDataHandler.java  |  4 ++--
 .../body/LoggingServerHttpResponseTest.java        |  2 +-
 .../RocketMQLogCollectClientTest.java              |  2 +-
 .../{ => collector}/DefaultLogCollectorTest.java   |  5 +++--
 .../LoggingRocketMQPluginDataHandlerTest.java      |  2 +-
 26 files changed, 71 insertions(+), 47 deletions(-)

diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LoggingElasticSearchPlugin.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LoggingElasticSearchPlugin.java
index 0c861540e..7f36ed824 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LoggingElasticSearchPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LoggingElasticSearchPlugin.java
@@ -24,6 +24,7 @@ import org.apache.shenyu.plugin.base.AbstractShenyuPlugin;
 import org.apache.shenyu.plugin.base.utils.HostAddressUtils;
 import org.apache.shenyu.plugin.logging.elasticsearch.body.LoggingElasticSearchServerHttpRequest;
 import org.apache.shenyu.plugin.logging.elasticsearch.body.LoggingElasticSearchServerResponse;
+import org.apache.shenyu.plugin.logging.elasticsearch.collector.DefaultLogCollector;
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
 import org.apache.shenyu.plugin.logging.elasticsearch.utils.LogCollectConfigUtils;
 import org.apache.shenyu.plugin.logging.elasticsearch.utils.LogCollectUtils;
@@ -74,7 +75,7 @@ public class LoggingElasticSearchPlugin extends AbstractShenyuPlugin {
     /**
      * get plugin order.
      *
-     * @return order
+     * @return plugin order
      */
     @Override
     public int getOrder() {
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpRequest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpRequest.java
index 8dd57407a..204da8f80 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpRequest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpRequest.java
@@ -28,7 +28,7 @@ import reactor.core.publisher.Flux;
 import reactor.util.annotation.NonNull;
 
 /**
- * decorate ServerHttpRequest for read org.apache.shenyu.plugin.logging.body.
+ * decorate ServerHttpRequest for read org.apache.shenyu.plugin.logging-elasticsearch.body.
  */
 public class LoggingElasticSearchServerHttpRequest extends ServerHttpRequestDecorator {
     
@@ -40,7 +40,7 @@ public class LoggingElasticSearchServerHttpRequest extends ServerHttpRequestDeco
     }
 
     /**
-     * get request org.apache.shenyu.plugin.logging.body.
+     * get request org.apache.shenyu.plugin.logging-elasticsearch.body.
      *
      * @return Flux
      */
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerResponse.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerResponse.java
index 89fed618c..b66eb0c00 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerResponse.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerResponse.java
@@ -25,8 +25,8 @@ import org.apache.shenyu.plugin.api.context.ShenyuContext;
 import org.apache.shenyu.plugin.api.result.ShenyuResult;
 import org.apache.shenyu.plugin.api.result.ShenyuResultWrap;
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.elasticsearch.DefaultLogCollector;
-import org.apache.shenyu.plugin.logging.elasticsearch.LogCollector;
+import org.apache.shenyu.plugin.logging.elasticsearch.collector.DefaultLogCollector;
+import org.apache.shenyu.plugin.logging.elasticsearch.collector.LogCollector;
 import org.apache.shenyu.plugin.logging.elasticsearch.constant.LoggingConstant;
 import org.apache.shenyu.plugin.logging.elasticsearch.utils.LogCollectConfigUtils;
 import org.apache.shenyu.plugin.logging.elasticsearch.utils.LogCollectUtils;
@@ -51,7 +51,7 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 
 /**
- * decorate ServerHttpResponse for read org.apache.shenyu.plugin.logging.body.
+ * decorate ServerHttpResponse for read org.apache.shenyu.plugin.logging-elasticsearch.body.
  */
 public class LoggingElasticSearchServerResponse extends ServerHttpResponseDecorator {
 
@@ -66,7 +66,7 @@ public class LoggingElasticSearchServerResponse extends ServerHttpResponseDecora
     private final LogCollector logCollector;
 
     /**
-     * Constructor LoggingServerHttpResponse.
+     * Constructor LoggingElasticSearchServerHttpResponse.
      *
      * @param delegate     delegate ServerHttpResponse
      * @param logInfo      access log
@@ -91,7 +91,7 @@ public class LoggingElasticSearchServerResponse extends ServerHttpResponseDecora
     /**
      * write with a publisher.
      *
-     * @param body response org.apache.shenyu.plugin.logging.body
+     * @param body response org.apache.shenyu.plugin.logging-elasticsearch.body
      * @return Mono
      */
     @Override
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/elasticsearch/ElasticSearchLogCollectClient.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/client/ElasticSearchLogCollectClient.java
similarity index 86%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/elasticsearch/ElasticSearchLogCollectClient.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/client/ElasticSearchLogCollectClient.java
index baa62dd27..37f386ea0 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/elasticsearch/ElasticSearchLogCollectClient.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/client/ElasticSearchLogCollectClient.java
@@ -15,19 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.elasticsearch.elasticsearch;
+package org.apache.shenyu.plugin.logging.elasticsearch.client;
 
 import co.elastic.clients.elasticsearch.ElasticsearchClient;
-import co.elastic.clients.elasticsearch.core.BulkResponse;
 import co.elastic.clients.elasticsearch.core.bulk.BulkOperation;
-import co.elastic.clients.elasticsearch.indices.CreateIndexResponse;
 import co.elastic.clients.json.jackson.JacksonJsonpMapper;
 import co.elastic.clients.transport.ElasticsearchTransport;
 import co.elastic.clients.transport.endpoints.BooleanResponse;
 import co.elastic.clients.transport.rest_client.RestClientTransport;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.http.HttpHost;
-import org.apache.shenyu.plugin.logging.elasticsearch.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.elasticsearch.constant.LoggingConstant;
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
 import org.elasticsearch.client.RestClient;
@@ -67,6 +64,7 @@ public class ElasticSearchLogCollectClient implements LogConsumeClient {
         transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
         client = new ElasticsearchClient(transport);
         LOG.info("init ElasticSearchLogCollectClient success");
+        // Determine whether the index exists, and create it if it does not exist
         if (!existsIndex(LoggingConstant.INDEX)) {
             createIndex(LoggingConstant.INDEX);
             LOG.info("create index success");
@@ -85,10 +83,15 @@ public class ElasticSearchLogCollectClient implements LogConsumeClient {
             try {
                 bulkOperations.add(new BulkOperation.Builder().create(d -> d.document(log).index(LoggingConstant.INDEX)).build());
             } catch (Exception e) {
-                LOG.error("elasticsearch store logs error", e);
+                LOG.error("add logs error", e);
             }
         });
-        BulkResponse response = client.bulk(e -> e.index(LoggingConstant.INDEX).operations(bulkOperations));
+        // Bulk storage
+        try {
+            client.bulk(e -> e.index(LoggingConstant.INDEX).operations(bulkOperations));
+        } catch (Exception e) {
+            LOG.error("elasticsearch store logs error", e);
+        }
     }
 
     /**
@@ -111,16 +114,13 @@ public class ElasticSearchLogCollectClient implements LogConsumeClient {
      * create elasticsearch index.
      *
      * @param indexName index name
-     * @return true or false
      */
-    public boolean createIndex(final String indexName) {
+    public void createIndex(final String indexName) {
         try {
-            CreateIndexResponse createIndexResponse = client.indices().create(c -> c.index(indexName));
-            return createIndexResponse.acknowledged();
+            client.indices().create(c -> c.index(indexName));
         } catch (IOException e) {
             LOG.error("create index error");
         }
-        return true;
     }
 
     /**
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LogConsumeClient.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/client/LogConsumeClient.java
similarity index 95%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LogConsumeClient.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/client/LogConsumeClient.java
index 0d3810f67..2817d756d 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LogConsumeClient.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/client/LogConsumeClient.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.elasticsearch;
+package org.apache.shenyu.plugin.logging.elasticsearch.client;
 
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
 
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/AbstractLogCollector.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/AbstractLogCollector.java
similarity index 97%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/AbstractLogCollector.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/AbstractLogCollector.java
index 04005cdc9..3625a7bdf 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/AbstractLogCollector.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/AbstractLogCollector.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.elasticsearch;
+package org.apache.shenyu.plugin.logging.elasticsearch.collector;
 
 import org.apache.shenyu.common.concurrent.MemorySafeTaskQueue;
 import org.apache.shenyu.common.concurrent.ShenyuThreadFactory;
@@ -23,6 +23,7 @@ import org.apache.shenyu.common.concurrent.ShenyuThreadPoolExecutor;
 import org.apache.shenyu.common.config.ShenyuConfig;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.utils.ThreadUtils;
+import org.apache.shenyu.plugin.logging.elasticsearch.client.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
 import org.apache.shenyu.plugin.logging.elasticsearch.utils.LogCollectConfigUtils;
 import org.slf4j.Logger;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/DefaultLogCollector.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/DefaultLogCollector.java
similarity index 90%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/DefaultLogCollector.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/DefaultLogCollector.java
index 29d4ae72b..dffa262f4 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/DefaultLogCollector.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/DefaultLogCollector.java
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.elasticsearch;
+package org.apache.shenyu.plugin.logging.elasticsearch.collector;
 
+import org.apache.shenyu.plugin.logging.elasticsearch.client.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.elasticsearch.handler.LoggingElasticSearchPluginDataHandler;
 
 /**
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LogCollector.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/LogCollector.java
similarity index 94%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LogCollector.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/LogCollector.java
index 04d2595c6..1f9f8df90 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/LogCollector.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/LogCollector.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.elasticsearch;
+package org.apache.shenyu.plugin.logging.elasticsearch.collector;
 
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
 
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/config/LogCollectConfig.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/config/LogCollectConfig.java
index 96d064955..640ab7e35 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/config/LogCollectConfig.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/config/LogCollectConfig.java
@@ -67,6 +67,9 @@ public class LogCollectConfig {
          */
         private int maxRequestBody = 524288;
 
+        /**
+         * default 50000.
+         */
         private int bufferQueueSize = 50000;
 
         /**
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandler.java
index 4ed3a1eae..a9654c2ac 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/main/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandler.java
@@ -26,10 +26,10 @@ import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.enums.SelectorTypeEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.handler.PluginDataHandler;
-import org.apache.shenyu.plugin.logging.elasticsearch.DefaultLogCollector;
+import org.apache.shenyu.plugin.logging.elasticsearch.collector.DefaultLogCollector;
 import org.apache.shenyu.plugin.logging.elasticsearch.config.LogCollectConfig;
 import org.apache.shenyu.plugin.logging.elasticsearch.constant.LoggingConstant;
-import org.apache.shenyu.plugin.logging.elasticsearch.elasticsearch.ElasticSearchLogCollectClient;
+import org.apache.shenyu.plugin.logging.elasticsearch.client.ElasticSearchLogCollectClient;
 import org.apache.shenyu.plugin.logging.elasticsearch.utils.LogCollectConfigUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpResponseTest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpResponseTest.java
index 2402edec8..1ac65003e 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpResponseTest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/body/LoggingElasticSearchServerHttpResponseTest.java
@@ -23,7 +23,7 @@ import org.apache.shenyu.plugin.api.context.ShenyuContext;
 import org.apache.shenyu.plugin.api.result.ShenyuResult;
 import org.apache.shenyu.plugin.api.utils.SpringBeanUtils;
 import org.apache.shenyu.plugin.base.utils.HostAddressUtils;
-import org.apache.shenyu.plugin.logging.elasticsearch.DefaultLogCollector;
+import org.apache.shenyu.plugin.logging.elasticsearch.collector.DefaultLogCollector;
 import org.apache.shenyu.plugin.logging.elasticsearch.constant.LoggingConstant;
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
 import org.apache.shenyu.plugin.logging.elasticsearch.utils.LogCollectUtils;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/DefaultLogCollectorTest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/DefaultLogCollectorTest.java
similarity index 90%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/DefaultLogCollectorTest.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/DefaultLogCollectorTest.java
index 4e268e641..5cd0bd85d 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/DefaultLogCollectorTest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/collector/DefaultLogCollectorTest.java
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.elasticsearch;
+package org.apache.shenyu.plugin.logging.elasticsearch.collector;
 
-import org.apache.shenyu.plugin.logging.elasticsearch.elasticsearch.ElasticSearchLogCollectClient;
+import org.apache.shenyu.plugin.logging.elasticsearch.client.ElasticSearchLogCollectClient;
+import org.apache.shenyu.plugin.logging.elasticsearch.client.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.elasticsearch.entity.ShenyuRequestLog;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandlerTest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandlerTest.java
index af4faff85..c8254400b 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandlerTest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-elasticsearch/src/test/java/org/apache/shenyu/plugin/logging/elasticsearch/handler/LoggingElasticSearchPluginDataHandlerTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.logging.elasticsearch.handler;
 import org.apache.shenyu.common.dto.ConditionData;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.plugin.logging.elasticsearch.elasticsearch.ElasticSearchLogCollectClient;
+import org.apache.shenyu.plugin.logging.elasticsearch.client.ElasticSearchLogCollectClient;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LoggingRocketMQPlugin.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LoggingRocketMQPlugin.java
index 37eb5b4eb..18f5bcd8b 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LoggingRocketMQPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LoggingRocketMQPlugin.java
@@ -24,6 +24,7 @@ import org.apache.shenyu.plugin.base.AbstractShenyuPlugin;
 import org.apache.shenyu.plugin.base.utils.HostAddressUtils;
 import org.apache.shenyu.plugin.logging.rocketmq.body.LoggingServerHttpRequest;
 import org.apache.shenyu.plugin.logging.rocketmq.body.LoggingServerHttpResponse;
+import org.apache.shenyu.plugin.logging.rocketmq.collector.DefaultLogCollector;
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
 import org.apache.shenyu.plugin.logging.rocketmq.utils.LogCollectConfigUtils;
 import org.apache.shenyu.plugin.logging.rocketmq.utils.LogCollectUtils;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponse.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponse.java
index 731857d70..1494a961f 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponse.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponse.java
@@ -24,8 +24,8 @@ import org.apache.shenyu.common.utils.DateUtils;
 import org.apache.shenyu.plugin.api.context.ShenyuContext;
 import org.apache.shenyu.plugin.api.result.ShenyuResult;
 import org.apache.shenyu.plugin.api.result.ShenyuResultWrap;
-import org.apache.shenyu.plugin.logging.rocketmq.DefaultLogCollector;
-import org.apache.shenyu.plugin.logging.rocketmq.LogCollector;
+import org.apache.shenyu.plugin.logging.rocketmq.collector.DefaultLogCollector;
+import org.apache.shenyu.plugin.logging.rocketmq.collector.LogCollector;
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
 import org.apache.shenyu.plugin.logging.rocketmq.constant.LoggingConstant;
 import org.apache.shenyu.plugin.logging.rocketmq.utils.LogCollectConfigUtils;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LogConsumeClient.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/client/LogConsumeClient.java
similarity index 95%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LogConsumeClient.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/client/LogConsumeClient.java
index 1ce37272c..13ab155c2 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LogConsumeClient.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/client/LogConsumeClient.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.rocketmq;
+package org.apache.shenyu.plugin.logging.rocketmq.client;
 
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
 
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/rocketmq/RocketMQLogCollectClient.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/client/RocketMQLogCollectClient.java
similarity index 97%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/rocketmq/RocketMQLogCollectClient.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/client/RocketMQLogCollectClient.java
index bd3b499d5..bd22bb894 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/rocketmq/RocketMQLogCollectClient.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/client/RocketMQLogCollectClient.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.rocketmq.rocketmq;
+package org.apache.shenyu.plugin.logging.rocketmq.client;
 
 import net.jpountz.lz4.LZ4Compressor;
 import net.jpountz.lz4.LZ4Factory;
@@ -25,7 +25,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.client.producer.DefaultMQProducer;
 import org.apache.rocketmq.common.message.Message;
 import org.apache.shenyu.common.utils.JsonUtils;
-import org.apache.shenyu.plugin.logging.rocketmq.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.rocketmq.constant.LoggingConstant;
 import org.apache.shenyu.plugin.logging.rocketmq.entity.LZ4CompressData;
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/AbstractLogCollector.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/AbstractLogCollector.java
similarity index 78%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/AbstractLogCollector.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/AbstractLogCollector.java
index d444e594c..e18213778 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/AbstractLogCollector.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/AbstractLogCollector.java
@@ -15,9 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.rocketmq;
+package org.apache.shenyu.plugin.logging.rocketmq.collector;
 
+import org.apache.shenyu.common.concurrent.MemorySafeTaskQueue;
+import org.apache.shenyu.common.concurrent.ShenyuThreadFactory;
+import org.apache.shenyu.common.concurrent.ShenyuThreadPoolExecutor;
+import org.apache.shenyu.common.config.ShenyuConfig;
+import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.utils.ThreadUtils;
+import org.apache.shenyu.plugin.logging.rocketmq.client.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
 import org.apache.shenyu.plugin.logging.rocketmq.utils.LogCollectConfigUtils;
 import org.slf4j.Logger;
@@ -27,9 +33,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -48,11 +53,18 @@ public abstract class AbstractLogCollector implements LogCollector {
 
     private final AtomicBoolean started = new AtomicBoolean(true);
 
+    private final ShenyuConfig config = new ShenyuConfig();
+
     @Override
     public void start() {
         bufferSize = LogCollectConfigUtils.getGlobalLogConfig().getBufferQueueSize();
         bufferQueue = new LinkedBlockingDeque<>(bufferSize);
-        ExecutorService threadExecutor = Executors.newSingleThreadExecutor();
+        final ShenyuConfig.SharedPool sharedPool = config.getSharedPool();
+        ShenyuThreadPoolExecutor threadExecutor = new ShenyuThreadPoolExecutor(sharedPool.getCorePoolSize(),
+                sharedPool.getMaximumPoolSize(), sharedPool.getKeepAliveTime(), TimeUnit.MILLISECONDS,
+                new MemorySafeTaskQueue<>(Constants.THE_256_MB),
+                ShenyuThreadFactory.create(config.getSharedPool().getPrefix(), true),
+                new ThreadPoolExecutor.AbortPolicy());
         started.set(true);
         threadExecutor.execute(this::consume);
     }
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/DefaultLogCollector.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/DefaultLogCollector.java
similarity index 91%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/DefaultLogCollector.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/DefaultLogCollector.java
index e5eedbdc3..cfc82ff57 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/DefaultLogCollector.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/DefaultLogCollector.java
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.rocketmq;
+package org.apache.shenyu.plugin.logging.rocketmq.collector;
 
+import org.apache.shenyu.plugin.logging.rocketmq.client.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.rocketmq.handler.LoggingRocketMQPluginDataHandler;
 
 /**
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LogCollector.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/LogCollector.java
similarity index 95%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LogCollector.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/LogCollector.java
index d226c8923..4de31dc68 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/LogCollector.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/collector/LogCollector.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.rocketmq;
+package org.apache.shenyu.plugin.logging.rocketmq.collector;
 
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
 
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/config/LogCollectConfig.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/config/LogCollectConfig.java
index b6b8cdbd2..4505f5359 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/config/LogCollectConfig.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/config/LogCollectConfig.java
@@ -68,6 +68,9 @@ public class LogCollectConfig {
          */
         private int maxRequestBody = 524288;
 
+        /**
+         * default 50000.
+         */
         private int bufferQueueSize = 50000;
 
         /**
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandler.java
index b44cc2239..4341a7f96 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/main/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandler.java
@@ -26,10 +26,10 @@ import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.enums.SelectorTypeEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.handler.PluginDataHandler;
-import org.apache.shenyu.plugin.logging.rocketmq.DefaultLogCollector;
+import org.apache.shenyu.plugin.logging.rocketmq.collector.DefaultLogCollector;
 import org.apache.shenyu.plugin.logging.rocketmq.config.LogCollectConfig;
 import org.apache.shenyu.plugin.logging.rocketmq.constant.LoggingConstant;
-import org.apache.shenyu.plugin.logging.rocketmq.rocketmq.RocketMQLogCollectClient;
+import org.apache.shenyu.plugin.logging.rocketmq.client.RocketMQLogCollectClient;
 import org.apache.shenyu.plugin.logging.rocketmq.utils.LogCollectConfigUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponseTest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponseTest.java
index e0bf7f89e..90bdbd43b 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponseTest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/body/LoggingServerHttpResponseTest.java
@@ -23,7 +23,7 @@ import org.apache.shenyu.plugin.api.context.ShenyuContext;
 import org.apache.shenyu.plugin.api.result.ShenyuResult;
 import org.apache.shenyu.plugin.api.utils.SpringBeanUtils;
 import org.apache.shenyu.plugin.base.utils.HostAddressUtils;
-import org.apache.shenyu.plugin.logging.rocketmq.DefaultLogCollector;
+import org.apache.shenyu.plugin.logging.rocketmq.collector.DefaultLogCollector;
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
 import org.apache.shenyu.plugin.logging.rocketmq.constant.LoggingConstant;
 import org.apache.shenyu.plugin.logging.rocketmq.utils.LogCollectUtils;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/rocketmq/RocketMQLogCollectClientTest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/client/RocketMQLogCollectClientTest.java
similarity index 98%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/rocketmq/RocketMQLogCollectClientTest.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/client/RocketMQLogCollectClientTest.java
index 147048c3e..a3c2ba662 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/rocketmq/RocketMQLogCollectClientTest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/client/RocketMQLogCollectClientTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.rocketmq.rocketmq;
+package org.apache.shenyu.plugin.logging.rocketmq.client;
 
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/DefaultLogCollectorTest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/collector/DefaultLogCollectorTest.java
similarity index 91%
rename from shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/DefaultLogCollectorTest.java
rename to shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/collector/DefaultLogCollectorTest.java
index 4504ef670..a2696fb3a 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/DefaultLogCollectorTest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/collector/DefaultLogCollectorTest.java
@@ -15,10 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.plugin.logging.rocketmq;
+package org.apache.shenyu.plugin.logging.rocketmq.collector;
 
+import org.apache.shenyu.plugin.logging.rocketmq.client.LogConsumeClient;
 import org.apache.shenyu.plugin.logging.rocketmq.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.rocketmq.rocketmq.RocketMQLogCollectClient;
+import org.apache.shenyu.plugin.logging.rocketmq.client.RocketMQLogCollectClient;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandlerTest.java b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandlerTest.java
index 7fb126c2f..702ba7c5f 100644
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandlerTest.java
+++ b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rocketmq/src/test/java/org/apache/shenyu/plugin/logging/rocketmq/handler/LoggingRocketMQPluginDataHandlerTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.logging.rocketmq.handler;
 import org.apache.shenyu.common.dto.ConditionData;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.plugin.logging.rocketmq.rocketmq.RocketMQLogCollectClient;
+import org.apache.shenyu.plugin.logging.rocketmq.client.RocketMQLogCollectClient;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;