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

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


The following commit(s) were added to refs/heads/master by this push:
     new fc08cb7ce4 refactor: externalize Pulsar logging to plugin store (#7504)
fc08cb7ce4 is described below

commit fc08cb7ce45bdca5282907f4d6be8595f6a4a8c0
Author: cloudbase-ai <[email protected]>
AuthorDate: Fri Oct 9 13:59:07 2026 +0800

    refactor: externalize Pulsar logging to plugin store (#7504)
    
    Signed-off-by: cloudbase-ai <[email protected]>
    Co-authored-by: cloudbase-ai 
<[email protected]>
---
 README.md                                          |   2 +-
 db/init/mysql/schema.sql                           |  32 ----
 db/init/ob/schema.sql                              |  32 ----
 db/init/og/create-table.sql                        |  32 ----
 db/init/oracle/schema.sql                          |  32 ----
 db/init/pg/create-table.sql                        |  32 ----
 pom.xml                                            |   1 -
 .../src/main/resources/sql-script/h2/schema.sql    |  12 --
 shenyu-bootstrap/pom.xml                           |   8 -
 .../org/apache/shenyu/common/enums/PluginEnum.java |   3 +
 .../src/main/release-docs/LICENSE                  |   4 -
 .../java/org/apache/shenyu/e2e/model/Plugin.java   |   1 -
 .../shenyu-integrated-test-http/docker-compose.yml |  14 --
 .../shenyu-integrated-test-http/pom.xml            |   8 -
 .../http/combination/LoggingPulsarPluginTest.java  |  80 ---------
 shenyu-plugin/shenyu-plugin-logging/pom.xml        |   1 -
 .../shenyu-plugin-logging-pulsar/pom.xml           |  50 ------
 .../plugin/logging/pulsar/LoggingPulsarPlugin.java |  62 -------
 .../pulsar/client/PulsarLogCollectClient.java      | 115 -------------
 .../pulsar/collector/PulsarLogCollector.java       |  54 ------
 .../pulsar/config/PulsarLogCollectConfig.java      | 188 ---------------------
 .../handler/LoggingPulsarPluginDataHandler.java    |  66 --------
 .../logging/pulsar/LoggingPulsarPluginTest.java    | 105 ------------
 .../pulsar/client/PulsarLogCollectClientTest.java  |  61 -------
 .../pulsar/collector/PulsarLogCollectorTest.java   |  58 -------
 .../pulsar/config/PulsarCollectConfigTest.java     |  95 -----------
 .../LoggingPulsarPluginDataHandlerTest.java        |  80 ---------
 .../shenyu-spring-boot-starter-plugin/pom.xml      |   1 -
 .../pom.xml                                        |  37 ----
 .../pulsar/LoggingPulsarPluginConfiguration.java   |  54 ------
 ...rk.boot.autoconfigure.AutoConfiguration.imports |  18 --
 31 files changed, 4 insertions(+), 1334 deletions(-)

diff --git a/README.md b/README.md
index 6555713e26..69ab3c3eb1 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ Apache ShenYu is a Java-based gateway for service proxying, 
protocol conversion,
 | Security and traffic control | WAF, signing, authentication plugins, load 
balancing, rate limiting, and fault tolerance through Resilience4j and 
Sentinel; deprecated Hystrix remains available as an external plugin (see 
[plugin-store-hystrix](docs/plugin-store-hystrix.md)). |
 | Caching and transformation | In-memory or Redis-backed response caching, URL 
rewriting, redirection, and request/response transformation. |
 | Dynamic configuration | Admin persists plugins, selectors, rules, metadata, 
and authentication data. WebSocket sync is the default; HTTP long polling, 
ZooKeeper, Nacos, etcd, Consul, and Apollo are available. Gateway replicas 
apply updates to their local caches. |
-| Observability | Metrics and logging plugins, including Kafka, Pulsar, 
Elasticsearch, and ClickHouse destinations; email and DingTalk alerts from 
Admin. |
+| Observability | Metrics and logging plugins, including Kafka, Elasticsearch, 
and ClickHouse destinations; email and DingTalk alerts from Admin. |
 | AI and MCP | AI proxy, prompt processing, token limits, sensitive-word 
filtering, AI request/response transformation, and an MCP server plugin with 
SSE and Streamable HTTP. |
 
 ## Architecture
diff --git a/db/init/mysql/schema.sql b/db/init/mysql/schema.sql
index b8585cf557..f0c654169b 100644
--- a/db/init/mysql/schema.sql
+++ b/db/init/mysql/schema.sql
@@ -742,16 +742,6 @@ INSERT INTO `permission` VALUES ('1534585531389583388', 
'1346358560427216896', '
 INSERT INTO `permission` VALUES ('1534585531389583389', '1346358560427216896', 
'1534585531108565021', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 INSERT INTO `permission` VALUES ('1534585531389583390', '1346358560427216896', 
'1534585531108565022', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
-INSERT INTO `permission` VALUES ('1534585531389583391', '1346358560427216896', 
'1534585531108565023', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583392', '1346358560427216896', 
'1534585531108565024', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583393', '1346358560427216896', 
'1534585531108565025', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583394', '1346358560427216896', 
'1534585531108565026', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583395', '1346358560427216896', 
'1534585531108565027', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583396', '1346358560427216896', 
'1534585531108565028', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583397', '1346358560427216896', 
'1534585531108565029', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583398', '1346358560427216896', 
'1534585531108565030', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583399', '1346358560427216896', 
'1534585531108565031', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583400', '1346358560427216896', 
'1534585531108565032', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
 INSERT INTO `permission` VALUES ('1534585531389583401', '1346358560427216896', 
'1534585531108565033', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 INSERT INTO `permission` VALUES ('1534585531389583402', '1346358560427216896', 
'1534585531108565034', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
@@ -1002,7 +992,6 @@ INSERT INTO `plugin` VALUES ('5', 'divide', 
'{\"multiSelectorHandle\":\"1\",\"mu
 INSERT INTO `plugin` VALUES ('6', 'dubbo', 
'{\"register\":\"zookeeper://localhost:2181\",\"multiSelectorHandle\":\"1\",\"threadpool\":\"shared\",\"corethreads\":0,\"threads\":2147483647,\"queues\":0}',
 'Proxy', 310, 0, '2022-05-25 18:02:53', '2022-05-25 18:02:53',null);
 INSERT INTO `plugin` VALUES ('32', 
'loggingElasticSearch','{\"host\":\"localhost\", \"port\": \"9200\"}', 
'Logging', 190, 0, '2022-06-19 22:00:00', '2022-06-19 22:00:00',null);
 INSERT INTO `plugin` VALUES ('33', 
'loggingKafka','{\"topic\":\"shenyu-access-logging\",\"namesrvAddr\":\"http://localhost:9092\",\"sampleRate\":\"1\",\"maxResponseBody\":524288,\"maxRequestBody\":524288,\"compressAlg\":\"none\"}',
 'Logging', 180, 0, '2022-07-04 22:00:00', '2022-07-02 22:00:00',null);
-INSERT INTO `plugin` VALUES ('35', 'loggingPulsar', 
'{\"topic":\"shenyu-access-logging\", \"serviceUrl\": 
\"pulsar://localhost:6650\"}', 'Logging', 185, 0, '2022-06-30 21:00:00', 
'2022-06-30 21:00:00',null);
 INSERT INTO `plugin` VALUES ('36', 'loggingTencentCls','{\"endpoint\": 
\"ap-guangzhou.cls.tencentcs.com\", \"topic\": \"shenyu-topic\"}', 'Logging', 
176, 0, '2022-06-30 21:00:00', '2022-06-30 21:00:00',null);
 INSERT INTO `plugin` VALUES ('38', 'loggingClickHouse', 
'{\"host\":\"127.0.0.1\",\"port\":\"8123\",\"databse\":\"shenyu-gateway\",\"username\":\"foo\",\"password\":\"bar\"}',
 'Logging', 195, 0, '2022-06-30 21:00:00', '2022-06-30 21:00:00',null);
 INSERT INTO `plugin` VALUES ('39', 'casdoor', 
'{\"endpoint\":\"http://localhost:8000\"}', 'Authentication', 40, 0, 
'2022-09-11 12:00:00', '2022-09-11 12:00:00',null);
@@ -1246,12 +1235,6 @@ INSERT INTO `plugin_handle` VALUES 
('1729402613204172898', '33', 'securityProtoc
 INSERT INTO `plugin_handle` VALUES ('1729402613204172899', '33', 
'saslMechanism', 'saslMechanism', 3, 1, 
9,'{\"required\":\"0\",\"defaultValue\":\"\"}', '2022-07-04 22:00:00', 
'2022-09-01 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1729402613204172900', '33', 'userName', 
'userName', 2, 1, 10, '{\"required\":\"0\",\"defaultValue\":\"\"}', '2022-09-01 
22:00:00', '2022-09-01 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1729402613204172901', '33', 'passWord', 
'passWord', 2, 1, 11, '{\"required\":\"0\",\"defaultValue\":\"\"}', '2022-09-01 
22:00:00', '2022-09-01 22:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172916', '35', 'topic', 
'topic', 2, 3, 1, 
'{\"required\":\"1\",\"defaultValue\":\"shenyu-access-logging\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172917', '35', 'serviceUrl', 
'serviceUrl', 2, 3, 2, 
'{\"required":"1",\"defaultValue\":\"pulsar://localhost:6650\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172918', '35', 'sampleRate', 
'sampleRate', 2, 3, 4, 
'{\"required":"0",\"defaultValue\":\"1\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-06-30 21:00:00', '2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172919', '35', 
'maxResponseBody', 'maxResponseBody', 1, 3, 5, 
'{\"required\":\"0\",\"defaultValue\":524288}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172920', '35', 
'maxRequestBody', 'maxRequestBody', 1, 3, 6, 
'{\"required\":\"0\",\"defaultValue\":524288}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172921', '35', 
'compressAlg', 'compressAlg', 3, 3, 7, 
'{\"required\":\"0\",\"defaultValue\":\"none\"}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172922', '36', 'secretId', 
'secretId', 2, 3, 1, 
'{\"required\":\"1\",\"defaultValue\":\"\",\"placeholder\":\"\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172923', '36', 'secretKey', 
'secretKey', 2, 3, 2, 
'{\"required\":\"1\",\"defaultValue\":\"\",\"placeholder\":\"\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172924', '36', 'endpoint', 
'endpoint', 2, 3, 3, 
'{\"required\":\"1\",\"defaultValue\":\"\",\"placeholder\":\"\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
@@ -1282,9 +1265,6 @@ INSERT INTO `plugin_handle` VALUES 
('1529402613204172754', '32', 'maskStatus', '
 INSERT INTO `plugin_handle` VALUES ('1529402613204172755', '33', 'keyword', 
'keyword', 2, 2, 0, '{\"required\":\"0\",\"placeholder\":\"please use ‘;’ to 
split keyword\",\"rule\":\"\"}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172756', '33', 'maskType', 
'maskType', 3, 2, 1, 
'{\"required\":\"0\",\"defaultValue\":\"dataMaskByMD5\",\"rule\":\"\"}', 
'2022-09-22 00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172757', '33', 'maskStatus', 
'maskStatus', 3, 2, 2, 
'{\"required\":\"0\",\"defaultValue\":\"false\",\"rule\":\"\"}', '2022-09-22 
00:17:21.150', '2022-09-22 00:17:21.150');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172761', '35', 'keyword', 
'keyword', 2, 2, 0, '{\"required\":\"0\",\"placeholder\":\"please use ‘;’ to 
split keyword\",\"rule\":\"\"}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172762', '35', 'maskType', 
'maskType', 3, 2, 1, 
'{\"required\":\"0\",\"defaultValue\":\"dataMaskByMD5\",\"rule\":\"\"}', 
'2022-09-22 00:16:27.342', '2022-09-22 00:16:27.342');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172763', '35', 'maskStatus', 
'maskStatus', 3, 2, 2, 
'{\"required\":\"0\",\"defaultValue\":\"false\",\"rule\":\"\"}', '2022-09-22 
00:17:21.150', '2022-09-22 00:17:21.150');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172764', '36', 'keyword', 
'keyword', 2, 2, 0, '{\"required\":\"0\",\"placeholder\":\"please use ‘;’ to 
split keyword\",\"rule\":\"\"}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172765', '36', 'maskType', 
'maskType', 3, 2, 1, 
'{\"required\":\"0\",\"defaultValue\":\"dataMaskByMD5\",\"rule\":\"\"}', 
'2022-09-22 00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172766', '36', 'maskStatus', 
'maskStatus', 3, 2, 2, 
'{\"required\":\"0\",\"defaultValue\":\"false\",\"rule\":\"\"}', '2022-09-22 
00:17:21.150', '2022-09-22 00:17:21.150');
@@ -1383,7 +1363,6 @@ INSERT INTO `plugin_handle` VALUES 
('1722804548510507015', '36', 'sampleRate', '
 INSERT INTO `plugin_handle` VALUES ('1722804548510507016', '36', 'sampleRate', 
'sampleRate', 2, 1, 2, 
'{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-05-25 18:02:53', '2022-05-25 18:02:53');
 
 
-INSERT INTO `plugin_handle` VALUES ('1722804548510507018', '35', 'sampleRate', 
'sampleRate', 2, 1, 2, 
'{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-05-25 18:02:53', '2022-05-25 18:02:53');
 
 INSERT INTO `plugin_handle` VALUES ('1722804548510507019', '38', 'sampleRate', 
'sampleRate', 2, 3, 11, 
'{\"required\":\"0\",\"defaultValue\":\"1\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-07-04 22:00:00', '2022-07-04 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1722804548510507020', '38', 'sampleRate', 
'sampleRate', 2, 1, 2, 
'{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-05-25 18:02:53', '2022-05-25 18:02:53');
@@ -1840,16 +1819,6 @@ INSERT INTO `resource` VALUES ('1534585531108565020', 
'1534585531108565013', 'SH
 INSERT INTO `resource` VALUES ('1534585531108565021', '1534585531108565013', 
'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingKafkaRule:delete', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
 INSERT INTO `resource` VALUES ('1534585531108565022', '1534585531108565013', 
'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingKafka:modify', 1, '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
-INSERT INTO `resource` VALUES ('1534585531108565023', '1346775491550474240', 
'loggingPulsar', 'loggingPulsar', '/plug/loggingPulsar', 'loggingPulsar', 1, 0, 
'pic-center', 0, 0, '', 1, '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565024', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:add', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565025', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.QUERY', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:query', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565026', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.EDIT', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:edit', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565027', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.DELETE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:delete', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565028', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.ADD', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:add', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565029', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.QUERY', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:query', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565030', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.EDIT', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:edit', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565031', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:delete', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565032', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsar:modify', 1, '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
 INSERT INTO `resource` VALUES ('1534585531108565033', '1346775491550474240', 
'loggingElasticSearch', 'loggingElasticSearch', '/plug/loggingElasticSearch', 
'loggingElasticSearch', 1, 0, 'pic-center', 0, 0, '', 1, '2022-05-25 18:02:58', 
'2022-05-25 18:02:58');
 INSERT INTO `resource` VALUES ('1534585531108565034', '1534585531108565033', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingElasticSearchSelector:add', 1, '2022-05-25 18:02:58', 
'2022-05-25 18:02:58');
@@ -2600,7 +2569,6 @@ INSERT INTO `namespace_plugin_rel` 
(`id`,`namespace_id`,`plugin_id`, `config`, `
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822169','649330b6-c2d7-4edc-be8e-8a54df9eb385','31', NULL, 1, 0, 
'2022-06-16 14:40:35.000', '2022-06-16 14:40:55.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822170','649330b6-c2d7-4edc-be8e-8a54df9eb385','32', 
'{\"host\":\"localhost\", \"port\": \"9200\"}', 190, 0, '2022-06-19 
22:00:00.000', '2022-06-19 22:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822171','649330b6-c2d7-4edc-be8e-8a54df9eb385','33', 
'{\"host\":\"localhost\", \"port\": \"9092\"}', 180, 0, '2022-07-04 
22:00:00.000', '2022-07-02 22:00:00.000');
-INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822173','649330b6-c2d7-4edc-be8e-8a54df9eb385','35', 
'{\"topic\":\"shenyu-access-logging\", \"serviceUrl\": 
\"pulsar://localhost:6650\"}', 185, 0, '2022-06-30 21:00:00.000', '2022-06-30 
21:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822174','649330b6-c2d7-4edc-be8e-8a54df9eb385','36', 
'{\"endpoint\": \"ap-guangzhou.cls.tencentcs.com\", \"topic\": 
\"shenyu-topic\"}', 176, 0, '2022-06-30 21:00:00.000', '2022-06-30 
21:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822175','649330b6-c2d7-4edc-be8e-8a54df9eb385','38', 
'{\"host\":\"127.0.0.1\",\"port\":\"8123\",\"databse\":\"shenyu-gateway\",\"username\":\"foo\",\"password\":\"bar\"}',
 195, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822176','649330b6-c2d7-4edc-be8e-8a54df9eb385','39', 
'{\"endpoint\":\"http://localhost:8000\"}', 40, 0, '2022-09-11 12:00:00.000', 
'2022-09-11 12:00:00.000');
diff --git a/db/init/ob/schema.sql b/db/init/ob/schema.sql
index 7e6e0acc4c..77ce4cbeb0 100644
--- a/db/init/ob/schema.sql
+++ b/db/init/ob/schema.sql
@@ -743,16 +743,6 @@ INSERT INTO `permission` VALUES ('1534585531389583388', 
'1346358560427216896', '
 INSERT INTO `permission` VALUES ('1534585531389583389', '1346358560427216896', 
'1534585531108565021', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 INSERT INTO `permission` VALUES ('1534585531389583390', '1346358560427216896', 
'1534585531108565022', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
-INSERT INTO `permission` VALUES ('1534585531389583391', '1346358560427216896', 
'1534585531108565023', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583392', '1346358560427216896', 
'1534585531108565024', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583393', '1346358560427216896', 
'1534585531108565025', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583394', '1346358560427216896', 
'1534585531108565026', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583395', '1346358560427216896', 
'1534585531108565027', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583396', '1346358560427216896', 
'1534585531108565028', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583397', '1346358560427216896', 
'1534585531108565029', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583398', '1346358560427216896', 
'1534585531108565030', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583399', '1346358560427216896', 
'1534585531108565031', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `permission` VALUES ('1534585531389583400', '1346358560427216896', 
'1534585531108565032', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
 INSERT INTO `permission` VALUES ('1534585531389583401', '1346358560427216896', 
'1534585531108565033', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 INSERT INTO `permission` VALUES ('1534585531389583402', '1346358560427216896', 
'1534585531108565034', '2022-05-25 18:02:58', '2022-05-25 18:02:58');
@@ -974,7 +964,6 @@ INSERT INTO `plugin` VALUES ('5', 'divide', 
'{\"multiSelectorHandle\":\"1\",\"mu
 INSERT INTO `plugin` VALUES ('6', 'dubbo', 
'{\"register\":\"zookeeper://localhost:2181\",\"multiSelectorHandle\":\"1\",\"threadpool\":\"shared\",\"corethreads\":0,\"threads\":2147483647,\"queues\":0}',
 'Proxy', 310, 0, '2022-05-25 18:02:53', '2022-05-25 18:02:53',null);
 INSERT INTO `plugin` VALUES ('32', 
'loggingElasticSearch','{\"host\":\"localhost\", \"port\": \"9200\"}', 
'Logging', 190, 0, '2022-06-19 22:00:00', '2022-06-19 22:00:00',null);
 INSERT INTO `plugin` VALUES ('33', 'loggingKafka','{\"host\":\"localhost\", 
\"port\": \"9092\"}', 'Logging', 180, 0, '2022-07-04 22:00:00', '2022-07-02 
22:00:00',null);
-INSERT INTO `plugin` VALUES ('35', 'loggingPulsar', 
'{\"topic":\"shenyu-access-logging\", \"serviceUrl\": 
\"pulsar://localhost:6650\"}', 'Logging', 185, 0, '2022-06-30 21:00:00', 
'2022-06-30 21:00:00',null);
 INSERT INTO `plugin` VALUES ('36', 'loggingTencentCls','{\"endpoint\": 
\"ap-guangzhou.cls.tencentcs.com\", \"topic\": \"shenyu-topic\"}', 'Logging', 
176, 0, '2022-06-30 21:00:00', '2022-06-30 21:00:00',null);
 INSERT INTO `plugin` VALUES ('38', 'loggingClickHouse', 
'{\"host\":\"127.0.0.1\",\"port\":\"8123\",\"databse\":\"shenyu-gateway\",\"username\":\"foo\",\"password\":\"bar\"}',
 'Logging', 195, 0, '2022-06-30 21:00:00', '2022-06-30 21:00:00',null);
 INSERT INTO `plugin` VALUES ('39', 'casdoor', 
'{\"endpoint\":\"http://localhost:8000\"}', 'Authentication', 40, 0, 
'2022-09-11 12:00:00', '2022-09-11 12:00:00',null);
@@ -1214,12 +1203,6 @@ INSERT INTO `plugin_handle` VALUES 
('1729402613204172898', '33', 'securityProtoc
 INSERT INTO `plugin_handle` VALUES ('1729402613204172899', '33', 
'saslMechanism', 'saslMechanism', 3, 1, 
9,'{\"required\":\"0\",\"defaultValue\":\"\"}', '2022-07-04 22:00:00', 
'2022-09-01 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1729402613204172900', '33', 'userName', 
'userName', 2, 1, 10, '{\"required\":\"0\",\"defaultValue\":\"\"}', '2022-09-01 
22:00:00', '2022-09-01 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1729402613204172901', '33', 'passWord', 
'passWord', 2, 1, 11, '{\"required\":\"0\",\"defaultValue\":\"\"}', '2022-09-01 
22:00:00', '2022-09-01 22:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172916', '35', 'topic', 
'topic', 2, 3, 1, 
'{\"required\":\"1\",\"defaultValue\":\"shenyu-access-logging\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172917', '35', 'serviceUrl', 
'serviceUrl', 2, 3, 2, 
'{\"required":"1",\"defaultValue\":\"pulsar://localhost:6650\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172918', '35', 'sampleRate', 
'sampleRate', 2, 3, 4, 
'{\"required":"0",\"defaultValue\":\"1\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-06-30 21:00:00', '2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172919', '35', 
'maxResponseBody', 'maxResponseBody', 1, 3, 5, 
'{\"required\":\"0\",\"defaultValue\":524288}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172920', '35', 
'maxRequestBody', 'maxRequestBody', 1, 3, 6, 
'{\"required\":\"0\",\"defaultValue\":524288}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172921', '35', 
'compressAlg', 'compressAlg', 3, 3, 7, 
'{\"required\":\"0\",\"defaultValue\":\"none\"}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172922', '36', 'secretId', 
'secretId', 2, 3, 1, 
'{\"required\":\"1\",\"defaultValue\":\"\",\"placeholder\":\"\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172923', '36', 'secretKey', 
'secretKey', 2, 3, 2, 
'{\"required\":\"1\",\"defaultValue\":\"\",\"placeholder\":\"\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172924', '36', 'endpoint', 
'endpoint', 2, 3, 3, 
'{\"required\":\"1\",\"defaultValue\":\"\",\"placeholder\":\"\"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
@@ -1250,9 +1233,6 @@ INSERT INTO `plugin_handle` VALUES 
('1529402613204172754', '32', 'maskStatus', '
 INSERT INTO `plugin_handle` VALUES ('1529402613204172755', '33', 'keyword', 
'keyword', 2, 2, 0, '{\"required\":\"0\",\"placeholder\":\"please use ‘;’ to 
split keyword\",\"rule\":\"\"}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172756', '33', 'maskType', 
'maskType', 3, 2, 1, 
'{\"required\":\"0\",\"defaultValue\":\"dataMaskByMD5\",\"rule\":\"\"}', 
'2022-09-22 00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172757', '33', 'maskStatus', 
'maskStatus', 3, 2, 2, 
'{\"required\":\"0\",\"defaultValue\":\"false\",\"rule\":\"\"}', '2022-09-22 
00:17:21.150', '2022-09-22 00:17:21.150');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172761', '35', 'keyword', 
'keyword', 2, 2, 0, '{\"required\":\"0\",\"placeholder\":\"please use ‘;’ to 
split keyword\",\"rule\":\"\"}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172762', '35', 'maskType', 
'maskType', 3, 2, 1, 
'{\"required\":\"0\",\"defaultValue\":\"dataMaskByMD5\",\"rule\":\"\"}', 
'2022-09-22 00:16:27.342', '2022-09-22 00:16:27.342');
-INSERT INTO `plugin_handle` VALUES ('1529402613204172763', '35', 'maskStatus', 
'maskStatus', 3, 2, 2, 
'{\"required\":\"0\",\"defaultValue\":\"false\",\"rule\":\"\"}', '2022-09-22 
00:17:21.150', '2022-09-22 00:17:21.150');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172764', '36', 'keyword', 
'keyword', 2, 2, 0, '{\"required\":\"0\",\"placeholder\":\"please use ‘;’ to 
split keyword\",\"rule\":\"\"}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172765', '36', 'maskType', 
'maskType', 3, 2, 1, 
'{\"required\":\"0\",\"defaultValue\":\"dataMaskByMD5\",\"rule\":\"\"}', 
'2022-09-22 00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172766', '36', 'maskStatus', 
'maskStatus', 3, 2, 2, 
'{\"required\":\"0\",\"defaultValue\":\"false\",\"rule\":\"\"}', '2022-09-22 
00:17:21.150', '2022-09-22 00:17:21.150');
@@ -1352,7 +1332,6 @@ INSERT INTO `plugin_handle` VALUES 
('1722804548510507015', '36', 'sampleRate', '
 INSERT INTO `plugin_handle` VALUES ('1722804548510507016', '36', 'sampleRate', 
'sampleRate', 2, 1, 2, 
'{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-05-25 18:02:53', '2022-05-25 18:02:53');
 
 
-INSERT INTO `plugin_handle` VALUES ('1722804548510507018', '35', 'sampleRate', 
'sampleRate', 2, 1, 2, 
'{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-05-25 18:02:53', '2022-05-25 18:02:53');
 
 INSERT INTO `plugin_handle` VALUES ('1722804548510507019', '38', 'sampleRate', 
'sampleRate', 2, 3, 11, 
'{\"required\":\"0\",\"defaultValue\":\"1\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-07-04 22:00:00', '2022-07-04 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1722804548510507020', '38', 'sampleRate', 
'sampleRate', 2, 1, 2, 
'{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}',
 '2022-05-25 18:02:53', '2022-05-25 18:02:53');
@@ -1791,16 +1770,6 @@ INSERT INTO `resource` VALUES ('1534585531108565020', 
'1534585531108565013', 'SH
 INSERT INTO `resource` VALUES ('1534585531108565021', '1534585531108565013', 
'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingKafkaRule:delete', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
 INSERT INTO `resource` VALUES ('1534585531108565022', '1534585531108565013', 
'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingKafka:modify', 1, '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
-INSERT INTO `resource` VALUES ('1534585531108565023', '1346775491550474240', 
'loggingPulsar', 'loggingPulsar', '/plug/loggingPulsar', 'loggingPulsar', 1, 0, 
'pic-center', 0, 0, '', 1, '2022-05-25 18:02:58', '2022-05-25 18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565024', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:add', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565025', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.QUERY', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:query', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565026', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.EDIT', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:edit', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565027', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.DELETE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarSelector:delete', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565028', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.ADD', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:add', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565029', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.QUERY', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:query', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565030', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.EDIT', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:edit', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565031', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsarRule:delete', 1, '2022-05-25 18:02:58', '2022-05-25 
18:02:58');
-INSERT INTO `resource` VALUES ('1534585531108565032', '1534585531108565023', 
'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingPulsar:modify', 1, '2022-05-25 18:02:58', '2022-05-25 18:02:58');
 
 INSERT INTO `resource` VALUES ('1534585531108565033', '1346775491550474240', 
'loggingElasticSearch', 'loggingElasticSearch', '/plug/loggingElasticSearch', 
'loggingElasticSearch', 1, 0, 'pic-center', 0, 0, '', 1, '2022-05-25 18:02:58', 
'2022-05-25 18:02:58');
 INSERT INTO `resource` VALUES ('1534585531108565034', '1534585531108565033', 
'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, '', 1, 0, 
'plugin:loggingElasticSearchSelector:add', 1, '2022-05-25 18:02:58', 
'2022-05-25 18:02:58');
@@ -2530,7 +2499,6 @@ INSERT INTO `namespace_plugin_rel` 
(`id`,`namespace_id`,`plugin_id`, `config`, `
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822169','649330b6-c2d7-4edc-be8e-8a54df9eb385','31', NULL, 1, 0, 
'2022-06-16 14:40:35.000', '2022-06-16 14:40:55.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822170','649330b6-c2d7-4edc-be8e-8a54df9eb385','32', 
'{\"host\":\"localhost\", \"port\": \"9200\"}', 190, 0, '2022-06-19 
22:00:00.000', '2022-06-19 22:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822171','649330b6-c2d7-4edc-be8e-8a54df9eb385','33', 
'{\"host\":\"localhost\", \"port\": \"9092\"}', 180, 0, '2022-07-04 
22:00:00.000', '2022-07-02 22:00:00.000');
-INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822173','649330b6-c2d7-4edc-be8e-8a54df9eb385','35', 
'{\"topic\":\"shenyu-access-logging\", \"serviceUrl\": 
\"pulsar://localhost:6650\"}', 185, 0, '2022-06-30 21:00:00.000', '2022-06-30 
21:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822174','649330b6-c2d7-4edc-be8e-8a54df9eb385','36', 
'{\"endpoint\": \"ap-guangzhou.cls.tencentcs.com\", \"topic\": 
\"shenyu-topic\"}', 176, 0, '2022-06-30 21:00:00.000', '2022-06-30 
21:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822175','649330b6-c2d7-4edc-be8e-8a54df9eb385','38', 
'{\"host\":\"127.0.0.1\",\"port\":\"8123\",\"databse\":\"shenyu-gateway\",\"username\":\"foo\",\"password\":\"bar\"}',
 195, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, `config`, 
`sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822176','649330b6-c2d7-4edc-be8e-8a54df9eb385','39', 
'{\"endpoint\":\"http://localhost:8000\"}', 40, 0, '2022-09-11 12:00:00.000', 
'2022-09-11 12:00:00.000');
diff --git a/db/init/og/create-table.sql b/db/init/og/create-table.sql
index 98320e8e89..d6e8c16760 100644
--- a/db/init/og/create-table.sql
+++ b/db/init/og/create-table.sql
@@ -850,16 +850,6 @@ INSERT INTO "public"."permission" VALUES 
('1529403932886044797', '13463585604272
 INSERT INTO "public"."permission" VALUES ('1529403932886044798', 
'1346358560427216896', '1534585531108565021', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 INSERT INTO "public"."permission" VALUES ('1529403932886044799', 
'1346358560427216896', '1534585531108565022', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 
-INSERT INTO "public"."permission" VALUES ('1529403932886044800', 
'1346358560427216896', '1534585531108565023', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044801', 
'1346358560427216896', '1534585531108565024', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044802', 
'1346358560427216896', '1534585531108565025', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044803', 
'1346358560427216896', '1534585531108565026', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044804', 
'1346358560427216896', '1534585531108565027', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044805', 
'1346358560427216896', '1534585531108565028', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044806', 
'1346358560427216896', '1534585531108565029', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044807', 
'1346358560427216896', '1534585531108565030', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044808', 
'1346358560427216896', '1534585531108565031', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044809', 
'1346358560427216896', '1534585531108565032', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 
 INSERT INTO "public"."permission" VALUES ('1529403932886044810', 
'1346358560427216896', '1534585531108565033', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 INSERT INTO "public"."permission" VALUES ('1529403932886044811', 
'1346358560427216896', '1534585531108565034', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
@@ -964,7 +954,6 @@ INSERT INTO "public"."plugin" VALUES ('30', 'cache', 
'{"cacheType":"memory"}', '
 INSERT INTO "public"."plugin" VALUES ('31', 'mock', null, 'Mock', 1, 0, 
'2022-06-16 14:40:35', '2022-06-16 14:40:55', null);
 INSERT INTO "public"."plugin" VALUES ('32', 'loggingElasticSearch', 
'{"host":"localhost", "port": "9200"}', 'Logging', 190, 0, '2022-06-19 
22:00:00', '2022-06-19 22:00:00', null);
 INSERT INTO "public"."plugin" VALUES ('33', 'loggingKafka', 
'{"topic":"shenyu-access-logging", "namesrvAddr": "localhost:9092"}', 
'Logging', 180, 0, '2022-07-04 22:00:00', '2022-07-04 22:00:00', null);
-INSERT INTO "public"."plugin" VALUES ('35', 'loggingPulsar', 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
'Logging', 185, 0, '2022-05-25 18:08:01', '2022-05-25 18:08:01', null);
 INSERT INTO "public"."plugin" VALUES ('36', 'loggingTencentCls', '{"endpoint": 
"ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', 'Logging', 176, 0, 
'2022-06-30 21:00:00', '2022-06-30 21:00:00', null);
 INSERT INTO "public"."plugin" VALUES ('38', 'loggingClickHouse', 
'{"host":"127.0.0.1","port":"8123","databse":"shenyu-gateway","username":"foo","password":"bar"}',
 'Logging', 195, 0, '2022-06-30 21:00:00', '2022-06-30 21:00:00', null);
 INSERT INTO "public"."plugin" VALUES ('39', 'casdoor', 
'{"endpoint":"http://localhost:8000"}', 'Authentication', 40, 0, '2022-09-11 
12:00:00', '2022-09-11 12:00:00', null);
@@ -1225,12 +1214,6 @@ INSERT INTO "public"."plugin_handle" VALUES 
('1729402613204172859', '33', 'saslM
 INSERT INTO "public"."plugin_handle" VALUES ('1729402613204172860', '33', 
'userName', 'userName', 2, 1, 10, '{"required":"0","defaultValue":""}', 
'2022-09-01 22:00:00', '2022-09-01 22:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1729402613204172861', '33', 
'passWord', 'passWord', 2, 1, 11, '{"required":"0","defaultValue":""}', 
'2022-09-01 22:00:00', '2022-09-01 22:00:00');
 
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524976', '35', 
'topic', 'topic', 2, 3, 1, 
'{"required":"1","defaultValue":"shenyu-access-logging"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524977', '35', 
'serviceUrl', 'serviceUrl', 2, 3, 2, 
'{"required":"1","defaultValue":"pulsar://localhost:6650"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524978', '35', 
'sampleRate', 'sampleRate', 2, 3, 4, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}', 
'2022-06-30 21:00:00', '2022-06-30 21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524979', '35', 
'maxResponseBody', 'maxResponseBody', 1, 3, 5, 
'{"required":"0","defaultValue":524288}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524980', '35', 
'maxRequestBody', 'maxRequestBody', 1, 3, 6, 
'{"required":"0","defaultValue":524288}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524981', '35', 
'compressAlg', 'compressAlg', 3, 3, 7, 
'{"required":"0","defaultValue":"none"}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524982', '36', 
'secretId', 'secretId', 2, 3, 1, 
'{"required":"1","defaultValue":"","placeholder":""}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524983', '36', 
'secretKey', 'secretKey', 2, 3, 2, 
'{"required":"1","defaultValue":"","placeholder":""}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524984', '36', 
'endpoint', 'endpoint', 2, 3, 3, 
'{"required":"1","defaultValue":"","placeholder":""}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
@@ -1267,9 +1250,6 @@ INSERT INTO "public"."plugin_handle" VALUES 
('1529402613204172814', '32', 'maskS
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172815', '33', 
'keyword', 'keyword', 2, 2, 0, '{"required":"0","placeholder":"please use ‘;’ 
to split keyword","rule":""}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172816', '33', 
'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}', '2022-09-22 
00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172817', '33', 
'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}', '2022-09-22 00:17:21.150', 
'2022-09-22 00:17:21.150');
-INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172821', '35', 
'keyword', 'keyword', 2, 2, 0, '{"required":"0","placeholder":"please use ‘;’ 
to split keyword","rule":""}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
-INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172822', '35', 
'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}', '2022-09-22 
00:16:27.342', '2022-09-22 00:16:27.342');
-INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172823', '35', 
'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}', '2022-09-22 00:17:21.150', 
'2022-09-22 00:17:21.150');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172824', '36', 
'keyword', 'keyword', 2, 2, 0, '{"required":"0","placeholder":"please use ‘;’ 
to split keyword","rule":""}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172825', '36', 
'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}', '2022-09-22 
00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172826', '36', 
'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}', '2022-09-22 00:17:21.150', 
'2022-09-22 00:17:21.150');
@@ -1362,7 +1342,6 @@ INSERT INTO "public"."plugin_handle" VALUES 
('1722804548510507013', '36', 'sampl
 INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507014', '36', 
'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
 
 
-INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507016', '35', 
'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
 
 INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507017', '36', 
'sampleRate', 'sampleRate', 2, 3, 11, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507018', '36', 
'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
@@ -1796,16 +1775,6 @@ INSERT INTO "public"."resource" VALUES 
('1534585531108565020', '1534585531108565
 INSERT INTO "public"."resource" VALUES ('1534585531108565021', 
'1534585531108565013', 'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingKafkaRule:delete', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
 INSERT INTO "public"."resource" VALUES ('1534585531108565022', 
'1534585531108565013', 'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingKafka:modify', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
 
-INSERT INTO "public"."resource" VALUES ('1534585531108565023', 
'1346775491550474240', 'loggingPulsar', 'loggingPulsar', '/plug/loggingPulsar', 
'loggingPulsar', 1, 0, 'block', 0, 0, '', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565024', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarSelector:add', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565025', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.QUERY', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarSelector:query', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565026', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.EDIT', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarSelector:edit', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565027', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.DELETE', '', '', '', 2, 
0, '', 1, 0, 'plugin:loggingPulsarSelector:delete', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565028', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.ADD', '', '', '', 2, 0, '', 
1, 0, 'plugin:loggingPulsarRule:add', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565029', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.QUERY', '', '', '', 2, 0, '', 
1, 0, 'plugin:loggingPulsarRule:query', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565030', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.EDIT', '', '', '', 2, 0, '', 
1, 0, 'plugin:loggingPulsarRule:edit', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565031', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarRule:delete', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565032', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsar:modify', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
 
 INSERT INTO "public"."resource" VALUES ('1534585531108565033', 
'1346775491550474240', 'loggingElasticSearch', 'loggingElasticSearch', 
'/plug/loggingElasticSearch', 'loggingElasticSearch', 1, 0, 'block', 0, 0, '', 
1, '2022-05-25 18:08:07', '2022-05-25 18:08:07');
 INSERT INTO "public"."resource" VALUES ('1534585531108565034', 
'1534585531108565033', 'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingElasticSearchSelector:add', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
@@ -2711,7 +2680,6 @@ INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822168','64933
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822169','649330b6-c2d7-4edc-be8e-8a54df9eb385','31', NULL, 1, 0, 
'2022-06-16 14:40:35.000', '2022-06-16 14:40:55.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822170','649330b6-c2d7-4edc-be8e-8a54df9eb385','32', 
'{"host":"localhost", "port": "9200"}', 190, 0, '2022-06-19 22:00:00.000', 
'2022-06-19 22:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822171','649330b6-c2d7-4edc-be8e-8a54df9eb385','33', 
'{"host":"localhost", "port": "9092"}', 180, 0, '2022-07-04 22:00:00.000', 
'2022-07-02 22:00:00.000');
-INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822173','649330b6-c2d7-4edc-be8e-8a54df9eb385','35', 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
185, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822174','649330b6-c2d7-4edc-be8e-8a54df9eb385','36', 
'{"endpoint": "ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', 176, 
0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822175','649330b6-c2d7-4edc-be8e-8a54df9eb385','38', 
'{"host":"127.0.0.1","port":"8123","databse":"shenyu-gateway","username":"foo","password":"bar"}',
 195, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822176','649330b6-c2d7-4edc-be8e-8a54df9eb385','39', 
'{"endpoint":"http://localhost:8000"}', 40, 0, '2022-09-11 12:00:00.000', 
'2022-09-11 12:00:00.000');
diff --git a/db/init/oracle/schema.sql b/db/init/oracle/schema.sql
index ec2e123a9a..5aeb85907c 100644
--- a/db/init/oracle/schema.sql
+++ b/db/init/oracle/schema.sql
@@ -1200,7 +1200,6 @@ INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO 
plugin (id, name, conf
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO plugin (id, name, 
role, sort, enabled) VALUES ('31', 'mock', 'Mock', 1, 0);
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO plugin (id, name, 
config, role, sort, enabled) VALUES ('32', 'loggingElasticSearch', 
'{"host":"localhost", "port": "9200"}', 'Logging', 190, 0);
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO plugin (id, name, 
config, role, sort, enabled) VALUES ('33', 'loggingKafka', 
'{"topic":"shenyu-access-logging", "namesrvAddr": "localhost:9092"}', 
'Logging', 180, 0);
-INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO plugin (id, name, 
config, role, sort, enabled) VALUES ('35', 'loggingPulsar', 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
'Logging', 185, '0');
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO plugin (id, name, 
config, role, sort, enabled) VALUES ('36', 'loggingTencentCls', '{"endpoint": 
"ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', 'Logging', 176, 
'0');
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO plugin (id, name, 
config, role, sort, enabled) VALUES ('38', 'loggingClickHouse', 
'{"host":"127.0.0.1","port":"8123","databse":"shenyu-gateway","username":"foo","password":"bar"}',
 'Logging', 195, '0');
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin(id)) */ INTO plugin (id, name, 
config, role, sort, enabled) VALUES ('39', 'casdoor', 
'{"endpoint":"http://localhost:8000"}' ,'Authentication', 40, '0');
@@ -1842,24 +1841,6 @@ values ('1718229897214468186', '33', 'userName', 
'userName',  2, 1, 10, '{"requi
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
 values ('1718229897214468187', '33', 'passWord', 'passWord', 2, 1, 11, 
'{"required":"0","defaultValue":""}');
 
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468202', '35', 'topic', 'topic', 2, 3, 1, 
'{"required":"1","defaultValue":"shenyu-access-logging"}');
-
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468203', '35', 'serviceUrl', 'serviceUrl', 2, 3, 2, 
'{"required":"1","defaultValue":"pulsar://localhost:6650"}');
-
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468204', '35', 'sampleRate', 'sampleRate', 2, 3, 4, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}');
-
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468205', '35', 'maxResponseBody', 'maxResponseBody', 1, 
3, 5, '{"required":"0","defaultValue":524288}');
-
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468206', '35', 'maxRequestBody', 'maxRequestBody', 1, 3, 
6, '{"required":"0","defaultValue":524288}');
-
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468207', '35', 'compressAlg', 'compressAlg', 3, 3, 7, 
'{"required":"0","defaultValue":"none"}');
-
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
 values ('1518229897214468208', '36', 'secretId', 'secretId', 2, 3, 1, 
'{"required":"1","defaultValue":"","placeholder":""}');
 
@@ -1983,15 +1964,6 @@ values ('1518229897214468241', '33', 'maskType', 
'maskType', 3, 2, 1, '{"require
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
 values ('1518229897214468242', '33', 'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}');
 
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468246', '35', 'keyword', 'keyword', 2, 2, 0, 
'{"required":"0","placeholder":"please use ‘;’ to split keyword","rule":""}');
-
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468247', '35', 'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}');
-
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468248', '35', 'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}');
-
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
 values ('1518229897214468249', '36', 'keyword', 'keyword', 2, 2, 0, 
'{"required":"0","placeholder":"please use ‘;’ to split keyword","rule":""}');
 
@@ -2228,9 +2200,6 @@ values ('1722804548510507014', '36', 'sampleRate', 
'sampleRate', 2, 1, 2, '{"req
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
 values ('1722804548510507015', '36', 'sampleRate', 'sampleRate', 2, 3, 16, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}');
 
-insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1722804548510507017', '35', 'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}');
-
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
 values ('1722804548510507018', '38', 'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}');
 
@@ -3002,7 +2971,6 @@ INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX 
(namespace_plugin_rel(id)) */ INTO namespa
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace_plugin_rel(id)) */ INTO 
namespace_plugin_rel (id,namespace_id,plugin_id, config, sort, enabled) VALUES 
('1801816010882822169','649330b6-c2d7-4edc-be8e-8a54df9eb385','31', NULL, 1, 0);
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace_plugin_rel(id)) */ INTO 
namespace_plugin_rel (id,namespace_id,plugin_id, config, sort, enabled) VALUES 
('1801816010882822170','649330b6-c2d7-4edc-be8e-8a54df9eb385','32', 
'{"host":"localhost", "port": "9200"}', 190, 0);
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace_plugin_rel(id)) */ INTO 
namespace_plugin_rel (id,namespace_id,plugin_id, config, sort, enabled) VALUES 
('1801816010882822171','649330b6-c2d7-4edc-be8e-8a54df9eb385','33', 
'{"host":"localhost", "port": "9092"}', 180, 0);
-INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace_plugin_rel(id)) */ INTO 
namespace_plugin_rel (id,namespace_id,plugin_id, config, sort, enabled) VALUES 
('1801816010882822173','649330b6-c2d7-4edc-be8e-8a54df9eb385','35', 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
185, 0);
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace_plugin_rel(id)) */ INTO 
namespace_plugin_rel (id,namespace_id,plugin_id, config, sort, enabled) VALUES 
('1801816010882822174','649330b6-c2d7-4edc-be8e-8a54df9eb385','36', 
'{"endpoint": "ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', 176, 
0);
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace_plugin_rel(id)) */ INTO 
namespace_plugin_rel (id,namespace_id,plugin_id, config, sort, enabled) VALUES 
('1801816010882822175','649330b6-c2d7-4edc-be8e-8a54df9eb385','38', 
'{"host":"127.0.0.1","port":"8123","databse":"shenyu-gateway","username":"foo","password":"bar"}',
 195, 0);
 INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace_plugin_rel(id)) */ INTO 
namespace_plugin_rel (id,namespace_id,plugin_id, config, sort, enabled) VALUES 
('1801816010882822176','649330b6-c2d7-4edc-be8e-8a54df9eb385','39', 
'{"endpoint":"http://localhost:8000"}', 40, 0);
diff --git a/db/init/pg/create-table.sql b/db/init/pg/create-table.sql
index 28a97550c3..cbb3af59e8 100644
--- a/db/init/pg/create-table.sql
+++ b/db/init/pg/create-table.sql
@@ -847,16 +847,6 @@ INSERT INTO "public"."permission" VALUES 
('1529403932886044797', '13463585604272
 INSERT INTO "public"."permission" VALUES ('1529403932886044798', 
'1346358560427216896', '1534585531108565021', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 INSERT INTO "public"."permission" VALUES ('1529403932886044799', 
'1346358560427216896', '1534585531108565022', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 
-INSERT INTO "public"."permission" VALUES ('1529403932886044800', 
'1346358560427216896', '1534585531108565023', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044801', 
'1346358560427216896', '1534585531108565024', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044802', 
'1346358560427216896', '1534585531108565025', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044803', 
'1346358560427216896', '1534585531108565026', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044804', 
'1346358560427216896', '1534585531108565027', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044805', 
'1346358560427216896', '1534585531108565028', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044806', 
'1346358560427216896', '1534585531108565029', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044807', 
'1346358560427216896', '1534585531108565030', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044808', 
'1346358560427216896', '1534585531108565031', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
-INSERT INTO "public"."permission" VALUES ('1529403932886044809', 
'1346358560427216896', '1534585531108565032', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 
 INSERT INTO "public"."permission" VALUES ('1529403932886044810', 
'1346358560427216896', '1534585531108565033', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
 INSERT INTO "public"."permission" VALUES ('1529403932886044811', 
'1346358560427216896', '1534585531108565034', '2022-06-09 01:17:57', 
'2022-06-09 01:17:56');
@@ -1022,7 +1012,6 @@ INSERT INTO "public"."plugin" VALUES ('30', 'cache', 
'{"cacheType":"memory"}', '
 INSERT INTO "public"."plugin" VALUES ('31', 'mock', null, 'Mock', 1, 0, 
'2022-06-16 14:40:35', '2022-06-16 14:40:55', null);
 INSERT INTO "public"."plugin" VALUES ('32', 'loggingElasticSearch', 
'{"host":"localhost", "port": "9200"}', 'Logging', 190, 0, '2022-06-19 
22:00:00', '2022-06-19 22:00:00', null);
 INSERT INTO "public"."plugin" VALUES ('33', 'loggingKafka', 
'{"topic":"shenyu-access-logging", "namesrvAddr": "localhost:9092"}', 
'Logging', 180, 0, '2022-07-04 22:00:00', '2022-07-04 22:00:00', null);
-INSERT INTO "public"."plugin" VALUES ('35', 'loggingPulsar', 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
'Logging', 185, 0, '2022-05-25 18:08:01', '2022-05-25 18:08:01', null);
 INSERT INTO "public"."plugin" VALUES ('36', 'loggingTencentCls', '{"endpoint": 
"ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', 'Logging', 176, 0, 
'2022-06-30 21:00:00', '2022-06-30 21:00:00', null);
 INSERT INTO "public"."plugin" VALUES ('38', 'loggingClickHouse', 
'{"host":"127.0.0.1","port":"8123","databse":"shenyu-gateway","username":"foo","password":"bar"}',
 'Logging', 195, 0, '2022-06-30 21:00:00', '2022-06-30 21:00:00', null);
 INSERT INTO "public"."plugin" VALUES ('39', 'casdoor', 
'{"endpoint":"http://localhost:8000"}', 'Authentication', 40, 0, '2022-09-11 
12:00:00', '2022-09-11 12:00:00', null);
@@ -1282,12 +1271,6 @@ INSERT INTO "public"."plugin_handle" VALUES 
('1729402613204172859', '33', 'saslM
 INSERT INTO "public"."plugin_handle" VALUES ('1729402613204172860', '33', 
'userName', 'userName', 2, 0, 10, '{"required":"0","defaultValue":""}', 
'2022-09-01 22:00:00', '2022-09-01 22:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1729402613204172861', '33', 
'passWord', 'passWord', 2, 0, 11, '{"required":"0","defaultValue":""}', 
'2022-09-01 22:00:00', '2022-09-01 22:00:00');
 
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524976', '35', 
'topic', 'topic', 2, 3, 1, 
'{"required":"1","defaultValue":"shenyu-access-logging"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524977', '35', 
'serviceUrl', 'serviceUrl', 2, 3, 2, 
'{"required":"1","defaultValue":"pulsar://localhost:6650"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524978', '35', 
'sampleRate', 'sampleRate', 2, 3, 4, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}', 
'2022-06-30 21:00:00', '2022-06-30 21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524979', '35', 
'maxResponseBody', 'maxResponseBody', 1, 3, 5, 
'{"required":"0","defaultValue":524288}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524980', '35', 
'maxRequestBody', 'maxRequestBody', 1, 3, 6, 
'{"required":"0","defaultValue":524288}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
-INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524981', '35', 
'compressAlg', 'compressAlg', 3, 3, 7, 
'{"required":"0","defaultValue":"none"}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524982', '36', 
'secretId', 'secretId', 2, 3, 1, 
'{"required":"1","defaultValue":"","placeholder":""}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524983', '36', 
'secretKey', 'secretKey', 2, 3, 2, 
'{"required":"1","defaultValue":"","placeholder":""}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529403902783524984', '36', 
'endpoint', 'endpoint', 2, 3, 3, 
'{"required":"1","defaultValue":"","placeholder":""}', '2022-06-30 21:00:00', 
'2022-06-30 21:00:00');
@@ -1323,9 +1306,6 @@ INSERT INTO "public"."plugin_handle" VALUES 
('1529402613204172814', '32', 'maskS
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172815', '33', 
'keyword', 'keyword', 2, 2, 0, '{"required":"0","placeholder":"please use ‘;’ 
to split keyword","rule":""}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172816', '33', 
'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}', '2022-09-22 
00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172817', '33', 
'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}', '2022-09-22 00:17:21.150', 
'2022-09-22 00:17:21.150');
-INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172821', '35', 
'keyword', 'keyword', 2, 2, 0, '{"required":"0","placeholder":"please use ‘;’ 
to split keyword","rule":""}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
-INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172822', '35', 
'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}', '2022-09-22 
00:16:27.342', '2022-09-22 00:16:27.342');
-INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172823', '35', 
'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}', '2022-09-22 00:17:21.150', 
'2022-09-22 00:17:21.150');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172824', '36', 
'keyword', 'keyword', 2, 2, 0, '{"required":"0","placeholder":"please use ‘;’ 
to split keyword","rule":""}', '2022-09-22 00:15:56.158', '2022-09-22 
00:23:36.169');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172825', '36', 
'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}', '2022-09-22 
00:16:27.342', '2022-09-22 00:16:27.342');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172826', '36', 
'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}', '2022-09-22 00:17:21.150', 
'2022-09-22 00:17:21.150');
@@ -1419,7 +1399,6 @@ INSERT INTO "public"."plugin_handle" VALUES 
('1722804548510507013', '36', 'sampl
 INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507014', '36', 
'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
 
 
-INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507016', '35', 
'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
 
 INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507017', '38', 
'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1722804548510507018', '38', 
'sampleRate', 'sampleRate', 2, 3, 11, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}', 
'2022-07-04 22:00:00', '2022-07-04 22:00:00');
@@ -1853,16 +1832,6 @@ INSERT INTO "public"."resource" VALUES 
('1534585531108565020', '1534585531108565
 INSERT INTO "public"."resource" VALUES ('1534585531108565021', 
'1534585531108565013', 'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingKafkaRule:delete', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
 INSERT INTO "public"."resource" VALUES ('1534585531108565022', 
'1534585531108565013', 'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingKafka:modify', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
 
-INSERT INTO "public"."resource" VALUES ('1534585531108565023', 
'1346775491550474240', 'loggingPulsar', 'loggingPulsar', '/plug/loggingPulsar', 
'loggingPulsar', 1, 0, 'block', 0, 0, '', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565024', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarSelector:add', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565025', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.QUERY', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarSelector:query', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565026', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.EDIT', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarSelector:edit', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565027', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SELECTOR.DELETE', '', '', '', 2, 
0, '', 1, 0, 'plugin:loggingPulsarSelector:delete', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565028', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.ADD', '', '', '', 2, 0, '', 
1, 0, 'plugin:loggingPulsarRule:add', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565029', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.QUERY', '', '', '', 2, 0, '', 
1, 0, 'plugin:loggingPulsarRule:query', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565030', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.EDIT', '', '', '', 2, 0, '', 
1, 0, 'plugin:loggingPulsarRule:edit', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565031', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.RULE.DELETE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsarRule:delete', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
-INSERT INTO "public"."resource" VALUES ('1534585531108565032', 
'1534585531108565023', 'SHENYU.BUTTON.PLUGIN.SYNCHRONIZE', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingPulsar:modify', 1, '2022-05-25 18:08:07', '2022-05-25 
18:08:07');
 
 INSERT INTO "public"."resource" VALUES ('1534585531108565033', 
'1346775491550474240', 'loggingElasticSearch', 'loggingElasticSearch', 
'/plug/loggingElasticSearch', 'loggingElasticSearch', 1, 0, 'block', 0, 0, '', 
1, '2022-05-25 18:08:07', '2022-05-25 18:08:07');
 INSERT INTO "public"."resource" VALUES ('1534585531108565034', 
'1534585531108565033', 'SHENYU.BUTTON.PLUGIN.SELECTOR.ADD', '', '', '', 2, 0, 
'', 1, 0, 'plugin:loggingElasticSearchSelector:add', 1, '2022-05-25 18:08:07', 
'2022-05-25 18:08:07');
@@ -2828,7 +2797,6 @@ INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822168','64933
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822169','649330b6-c2d7-4edc-be8e-8a54df9eb385','31', NULL, 1, 0, 
'2022-06-16 14:40:35.000', '2022-06-16 14:40:55.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822170','649330b6-c2d7-4edc-be8e-8a54df9eb385','32', 
'{"host":"localhost", "port": "9200"}', 190, 0, '2022-06-19 22:00:00.000', 
'2022-06-19 22:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822171','649330b6-c2d7-4edc-be8e-8a54df9eb385','33', 
'{"host":"localhost", "port": "9092"}', 180, 0, '2022-07-04 22:00:00.000', 
'2022-07-02 22:00:00.000');
-INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822173','649330b6-c2d7-4edc-be8e-8a54df9eb385','35', 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
185, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822174','649330b6-c2d7-4edc-be8e-8a54df9eb385','36', 
'{"endpoint": "ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', 176, 
0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822175','649330b6-c2d7-4edc-be8e-8a54df9eb385','38', 
'{"host":"127.0.0.1","port":"8123","databse":"shenyu-gateway","username":"foo","password":"bar"}',
 195, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT INTO "public"."namespace_plugin_rel" VALUES 
('1801816010882822176','649330b6-c2d7-4edc-be8e-8a54df9eb385','39', 
'{"endpoint":"http://localhost:8000"}', 40, 0, '2022-09-11 12:00:00.000', 
'2022-09-11 12:00:00.000');
diff --git a/pom.xml b/pom.xml
index 80f5f3af80..b806185972 100644
--- a/pom.xml
+++ b/pom.xml
@@ -149,7 +149,6 @@
         <spring-security.version>6.3.0</spring-security.version>
         <grpc.version>1.65.1</grpc.version>
         <rocketmq-client.version>4.9.3</rocketmq-client.version>
-        <pulsar-client.version>2.10.1</pulsar-client.version>
         <lz4-java.version>1.8.0</lz4-java.version>
         <elasticsearch-java.version>8.2.3</elasticsearch-java.version>
         <jackson-databind.version>2.15.3</jackson-databind.version>
diff --git a/shenyu-admin/src/main/resources/sql-script/h2/schema.sql 
b/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
index 01a3e4eede..33673a8777 100644
--- a/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
+++ b/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
@@ -590,7 +590,6 @@ INSERT IGNORE INTO `plugin` (`id`, `name`, `config`, 
`role`, `sort`, `enabled`)
 INSERT IGNORE INTO `plugin` (`id`, `name`, `config`, `role`, `sort`, 
`enabled`) VALUES ('31', 'mock', null, 'Mock', 1, 0);
 INSERT IGNORE INTO `plugin` (`id`, `name`, `role`, `sort`, `config`, 
`enabled`) VALUES ('32', 'loggingElasticSearch', 'Logging', 
190,'{"host":"localhost", "port": "9200"}', '0');
 INSERT IGNORE INTO `plugin` (`id`, `name`, `role`, `sort`, `config`, 
`enabled`) VALUES ('33', 'loggingKafka', 'Logging', 
180,'{"topic":"shenyu-access-logging", "namesrvAddr": "localhost:9092"}', '0');
-INSERT IGNORE INTO `plugin` (`id`, `name`, `role`, `sort`, `config`, 
`enabled`) VALUES ('35', 'loggingPulsar', 'Logging', 185, 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
'0');
 INSERT IGNORE INTO `plugin` (`id`, `name`, `role`, `sort`, `config`, 
`enabled`) VALUES ('36', 'loggingTencentCls', 'Logging', 176, '{"endpoint": 
"ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', '0');
 INSERT IGNORE INTO `plugin` (`id`, `name`, `role`, `sort`, `config`, 
`enabled`) VALUES ('38', 'loggingClickHouse', 'Logging', 195, 
'{"host":"127.0.0.1","port":"8123","database":"shenyu-gateway","username":"","password":""}',
 '0');
 INSERT IGNORE INTO `plugin` (`id`, `name`, `role`, `sort`, `config`, 
`enabled`) VALUES ('39', 'casdoor', 'Authentication', 40, 
'{"endpoint":"http://localhost:8000"}', '0');
@@ -819,12 +818,6 @@ INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1729402613204172894', '33', 'userName', 'userName', 2, 1, 10, 
'{"required":"0","defaultValue":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1729402613204172895', '33', 'passWord', 'passWord', 2, 1, 11, 
'{"required":"0","defaultValue":""}');
 
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172910', '35', 'topic', 'topic', 2, 3, 1, 
'{"required":"1","defaultValue":"shenyu-access-logging"}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172911', '35', 'serviceUrl', 'serviceUrl', 2, 3, 2, 
'{"required":"1","defaultValue":"pulsar://localhost:6650"}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172912', '35', 'sampleRate', 'sampleRate', 2, 3, 4, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172913', '35', 'maxResponseBody', 'maxResponseBody', 1, 3, 5, 
'{"required":"0","defaultValue":524288}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172914', '35', 'maxRequestBody', 'maxRequestBody', 1, 3, 6, 
'{"required":"0","defaultValue":524288}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172915', '35', 'compressAlg', 'compressAlg', 3, 3, 7, 
'{"required":"0","defaultValue":"none"}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172916', '36', 'secretId', 'secretId', 2, 3, 1, 
'{"required":"1","defaultValue":"","placeholder":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172917', '36', 'secretKey', 'secretKey', 2, 3, 2, 
'{"required":"1","defaultValue":"","placeholder":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172918', '36', 'endpoint', 'endpoint', 2, 3, 3, 
'{"required":"1","defaultValue":"","placeholder":""}');
@@ -853,9 +846,6 @@ INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172942', '33', 'keyword', 'keyword', 2, 2, 0, 
'{"required":"0","placeholder":"please use ‘;’ to split keyword","rule":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172943', '33', 'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172944', '33', 'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172948', '35', 'keyword', 'keyword', 2, 2, 0, 
'{"required":"0","placeholder":"please use ‘;’ to split keyword","rule":""}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172949', '35', 'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}');
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172950', '35', 'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172951', '36', 'keyword', 'keyword', 2, 2, 0, 
'{"required":"0","placeholder":"please use ‘;’ to split keyword","rule":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172952', '36', 'maskType', 'maskType', 3, 2, 1, 
'{"required":"0","defaultValue":"dataMaskByMD5","rule":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172953', '36', 'maskStatus', 'maskStatus', 3, 2, 2, 
'{"required":"0","defaultValue":"false","rule":""}');
@@ -955,7 +945,6 @@ INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1722804548510507015', '36', 'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}');
 
 
-INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1722804548510507017', '35', 'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}');
 
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1722804548510507018', '38', 'sampleRate', 'sampleRate', 2, 3, 11, 
'{"required":"0","defaultValue":"1","placeholder":"optional,0,0.01~1"}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1722804548510507019', '38', 'sampleRate', 'sampleRate', 2, 1, 2, 
'{"required":"0","defaultValue":"","placeholder":"optional,0,0.01~1"}');
@@ -1444,7 +1433,6 @@ INSERT IGNORE INTO `namespace_plugin_rel` 
(`id`,`namespace_id`,`plugin_id`, `con
 INSERT IGNORE INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, 
`config`, `sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822169','649330b6-c2d7-4edc-be8e-8a54df9eb385','31', NULL, 1, 0, 
'2022-06-16 14:40:35.000', '2022-06-16 14:40:55.000');
 INSERT IGNORE INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, 
`config`, `sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822170','649330b6-c2d7-4edc-be8e-8a54df9eb385','32', 
'{"host":"localhost", "port": "9200"}', 190, 0, '2022-06-19 22:00:00.000', 
'2022-06-19 22:00:00.000');
 INSERT IGNORE INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, 
`config`, `sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822171','649330b6-c2d7-4edc-be8e-8a54df9eb385','33', 
'{"host":"localhost", "port": "9092"}', 180, 0, '2022-07-04 22:00:00.000', 
'2022-07-02 22:00:00.000');
-INSERT IGNORE INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, 
`config`, `sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822173','649330b6-c2d7-4edc-be8e-8a54df9eb385','35', 
'{"topic":"shenyu-access-logging", "serviceUrl": "pulsar://localhost:6650"}', 
185, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT IGNORE INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, 
`config`, `sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822174','649330b6-c2d7-4edc-be8e-8a54df9eb385','36', 
'{"endpoint": "ap-guangzhou.cls.tencentcs.com", "topic": "shenyu-topic"}', 176, 
0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT IGNORE INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, 
`config`, `sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822175','649330b6-c2d7-4edc-be8e-8a54df9eb385','38', 
'{"host":"127.0.0.1","port":"8123","databse":"shenyu-gateway","username":"foo","password":"bar"}',
 195, 0, '2022-06-30 21:00:00.000', '2022-06-30 21:00:00.000');
 INSERT IGNORE INTO `namespace_plugin_rel` (`id`,`namespace_id`,`plugin_id`, 
`config`, `sort`, `enabled`, `date_created`, `date_updated`) VALUES 
('1801816010882822176','649330b6-c2d7-4edc-be8e-8a54df9eb385','39', 
'{"endpoint":"http://localhost:8000"}', 40, 0, '2022-09-11 12:00:00.000', 
'2022-09-11 12:00:00.000');
diff --git a/shenyu-bootstrap/pom.xml b/shenyu-bootstrap/pom.xml
index cdf2578002..a2428f5cf7 100644
--- a/shenyu-bootstrap/pom.xml
+++ b/shenyu-bootstrap/pom.xml
@@ -516,14 +516,6 @@
         <!--shenyu logging-elasticsearch plugin end-->
 
 
-        <!-- shenyu logging-pulsar plugin start -->
-        <dependency>
-            <groupId>org.apache.shenyu</groupId>
-            
<artifactId>shenyu-spring-boot-starter-plugin-logging-pulsar</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- shenyu logging-pulsar plugin end -->
-
         <!-- shenyu logging-tencentcls plugin start -->
         <dependency>
             <groupId>org.apache.shenyu</groupId>
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginEnum.java 
b/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginEnum.java
index da186b94da..d322a71460 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginEnum.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginEnum.java
@@ -24,6 +24,9 @@ import java.util.stream.Collectors;
 
 /**
  * PluginEnum.
+ *
+ * <p>Logging plugin entries are kept as core compatibility API for 
AbstractLoggingPlugin,
+ * even when their concrete plugin modules are migrated out of the main 
tree.</p>
  */
 public enum PluginEnum {
 
diff --git a/shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/LICENSE 
b/shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/LICENSE
index 051c268f71..82cf3a59e9 100644
--- a/shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/LICENSE
+++ b/shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/LICENSE
@@ -229,7 +229,6 @@ The text of each license is the standard Apache 2.0 license.
     brave-opentracing 0.31.1: https://zipkin.io, Apache 2.0
     brave-tests 6.0.3: https://zipkin.io, Apache 2.0
     breeze-core 0.1.4: 
https://mvnrepository.com/artifact/com.weibo/breeze-core, Apache 2.0
-       bouncy-castle-bc 3.2.3-pkg: 
https://mvnrepository.com/artifact/org.apache.pulsar/bouncy-castle-bc, Apache 
2.0
     audience-annotations 0.12.0: 
https://yetus.apache.org/audience-annotations, Apache 2.0
     auto-value-annotations 1.9: 
https://github.com/google/auto/tree/master/value, Apache 2.0
     bolt 1.6.10: https://github.com/alipay/sofa-bolt, Apache 2.0
@@ -599,9 +598,6 @@ The text of each license is the standard Apache 2.0 license.
     jackson-jr-objects 2.10.1: http://wiki.fasterxml.com/JacksonHome, Apache 
2.0
     elasticsearch-java 8.13.4: https://github.com/elastic/elasticsearch-java, 
Apache 2.0
     elasticsearch-rest-client 8.2.3: https://github.com/elastic/elasticsearch, 
Apache 2.0
-    pulsar-client 3.2.3: https://github.com/apache/pulsar, Apache 2.0
-       pulsar-client-admin-api 3.2.3: 
https://mvnrepository.com/artifact/org.apache.pulsar/pulsar-client-admin-api, 
Apache 2.0
-       pulsar-client-api 3.2.3: 
https://mvnrepository.com/artifact/org.apache.pulsar/pulsar-client-api, Apache 
2.0
     tencentcloud-cls-sdk-java 1.0.14: 
https://github.com/TencentCloud/tencentcloud-cls-sdk-java, Apache 2.0
     casdoor-java-sdk 1.9.0: https://github.com/casdoor/casdoor-java-sdk, 
Apache 2.0
     nimbus-jose-jwt 9.10: https://connect2id.com/products/nimbus-jose-jwt, 
Apache 2.0
diff --git 
a/shenyu-e2e/shenyu-e2e-common/src/main/java/org/apache/shenyu/e2e/model/Plugin.java
 
b/shenyu-e2e/shenyu-e2e-common/src/main/java/org/apache/shenyu/e2e/model/Plugin.java
index 390501b987..7299cb09e8 100644
--- 
a/shenyu-e2e/shenyu-e2e-common/src/main/java/org/apache/shenyu/e2e/model/Plugin.java
+++ 
b/shenyu-e2e/shenyu-e2e-common/src/main/java/org/apache/shenyu/e2e/model/Plugin.java
@@ -66,7 +66,6 @@ public enum Plugin {
     LOGGING_ELASTIC_SEARCH("loggingElasticSearch", 32),
     LOGGING_KAFKA("loggingKafka", 33),
     LOGGING_TENCENT_CLS("loggingTencentCls", 36),
-    LOGGING_PULSAR("loggingPulsar", 35),
     LOGGING_CLICK_HOUSE("loggingClickHouse", 38),
     BRPC("brpc", 41),
     LOGGINGHUAWEILTS("loggingHuaweiLts", 43),
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-http/docker-compose.yml 
b/shenyu-integrated-test/shenyu-integrated-test-http/docker-compose.yml
index 63d7987df7..c045095538 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/docker-compose.yml
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/docker-compose.yml
@@ -149,20 +149,6 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 
PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
       KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
-
-  shenyu-pulsar:
-    image: apachepulsar/pulsar:2.10.1
-    container_name: shenyu-pulsar
-    restart: always
-    command: bin/pulsar standalone
-    depends_on:
-      shenyu-integrated-test-http:
-        condition: service_healthy
-    networks:
-      - shenyu
-    ports:
-      - "6650:6650"    
-
   shenyu-rocketmq:
     image: apache/rocketmq:4.9.3
     container_name: shenyu-rocketmq
diff --git a/shenyu-integrated-test/shenyu-integrated-test-http/pom.xml 
b/shenyu-integrated-test/shenyu-integrated-test-http/pom.xml
index 21d9eca450..e0242921e9 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/pom.xml
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/pom.xml
@@ -186,14 +186,6 @@
         </dependency>
         <!--shenyu logging-kafka plugin end-->
 
-        <!-- shenyu logging-pulsar plugin start -->
-        <dependency>
-            <groupId>org.apache.shenyu</groupId>
-            
<artifactId>shenyu-spring-boot-starter-plugin-logging-pulsar</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- shenyu logging-pulsar plugin end -->
-
         <!--shenyu logging-elasticsearch plugin start-->
         <dependency>
             <groupId>org.apache.shenyu</groupId>
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/LoggingPulsarPluginTest.java
 
b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/LoggingPulsarPluginTest.java
deleted file mode 100644
index 2aa4c5a7bb..0000000000
--- 
a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/LoggingPulsarPluginTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.integrated.test.http.combination;
-
-import org.apache.shenyu.common.dto.PluginData;
-import org.apache.shenyu.common.enums.PluginEnum;
-import org.apache.shenyu.common.utils.GsonUtils;
-import org.apache.shenyu.integratedtest.common.AbstractPluginDataInit;
-import org.apache.shenyu.plugin.logging.common.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.pulsar.client.PulsarLogCollectClient;
-import org.apache.shenyu.plugin.logging.pulsar.config.PulsarLogCollectConfig;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.is;
-
-public final class LoggingPulsarPluginTest extends AbstractPluginDataInit {
-
-    private final PulsarLogCollectClient pulsarLogCollectClient = new 
PulsarLogCollectClient();
-
-    private final PluginData pluginData = new PluginData();
-
-    private final List<ShenyuRequestLog> logs = new ArrayList<>();
-
-    private final ShenyuRequestLog shenyuRequestLog = new ShenyuRequestLog();
-
-    @BeforeEach
-    public void setup() throws IOException {
-        String pluginResult = initPlugin(PluginEnum.LOGGING_PULSAR.getName(),
-                "{\"topic\":\"pulsar-test\", 
\"serviceUrl\":\"pulsar://shenyu-pulsar:6650\"}");
-        assertThat(pluginResult, is("success"));
-    }
-
-    @Test
-    public void testPass() {
-        final PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = 
GsonUtils.getInstance().fromJson(pluginData.getConfig(), 
PulsarLogCollectConfig.PulsarLogConfig.class);
-
-        shenyuRequestLog.setClientIp("0.0.0.0");
-        shenyuRequestLog.setPath("org/apache/shenyu/plugin/logging");
-        logs.add(shenyuRequestLog);
-
-        String msg = "";
-        PulsarLogCollectConfig.INSTANCE.setPulsarLogConfig(pulsarLogConfig);
-        pulsarLogCollectClient.initClient(pulsarLogConfig);
-        try {
-            pulsarLogCollectClient.consume(logs);
-        } catch (Exception e) {
-            msg = "false";
-        }
-        Assertions.assertEquals(msg, "");
-        pulsarLogCollectClient.close();
-    }
-
-    @AfterAll
-    public static void clean() throws IOException {
-        cleanPluginData(PluginEnum.LOGGING_PULSAR.getName());
-    }
-}
diff --git a/shenyu-plugin/shenyu-plugin-logging/pom.xml 
b/shenyu-plugin/shenyu-plugin-logging/pom.xml
index ca6a4037a3..6279c7aea5 100644
--- a/shenyu-plugin/shenyu-plugin-logging/pom.xml
+++ b/shenyu-plugin/shenyu-plugin-logging/pom.xml
@@ -33,7 +33,6 @@
         <module>shenyu-plugin-logging-rabbitmq</module>
         <module>shenyu-plugin-logging-kafka</module>
         <module>shenyu-plugin-logging-elasticsearch</module>
-        <module>shenyu-plugin-logging-pulsar</module>
         <module>shenyu-plugin-logging-tencent-cls</module>
         <module>shenyu-plugin-logging-clickhouse</module>
         <module>shenyu-plugin-logging-desensitize-api</module>
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/pom.xml 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/pom.xml
deleted file mode 100644
index 24395f9fee..0000000000
--- a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <parent>
-        <groupId>org.apache.shenyu</groupId>
-        <artifactId>shenyu-plugin-logging</artifactId>
-        <version>2.7.2-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>shenyu-plugin-logging-pulsar</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.shenyu</groupId>
-            <artifactId>shenyu-plugin-logging-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.pulsar</groupId>
-            <artifactId>pulsar-client</artifactId>
-            <version>${pulsar-client.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.lz4</groupId>
-            <artifactId>lz4-java</artifactId>
-            <version>${lz4-java.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.projectreactor</groupId>
-            <artifactId>reactor-test</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/LoggingPulsarPlugin.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/LoggingPulsarPlugin.java
deleted file mode 100644
index cda70ce72f..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/LoggingPulsarPlugin.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar;
-
-import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.enums.PluginEnum;
-import org.apache.shenyu.plugin.logging.common.AbstractLoggingPlugin;
-import org.apache.shenyu.plugin.logging.common.collector.LogCollector;
-import org.apache.shenyu.plugin.logging.common.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.pulsar.collector.PulsarLogCollector;
-import org.springframework.web.server.ServerWebExchange;
-
-/**
- * Integrated pulsar collect log.
- */
-public class LoggingPulsarPlugin extends 
AbstractLoggingPlugin<ShenyuRequestLog> {
-
-    @Override
-    protected LogCollector<ShenyuRequestLog> logCollector() {
-        return PulsarLogCollector.getInstance();
-    }
-
-    /**
-     * pluginEnum.
-     *
-     * @return plugin
-     */
-    @Override
-    public PluginEnum pluginEnum() {
-        return PluginEnum.LOGGING_PULSAR;
-    }
-
-    /**
-     * log collect extension.
-     * base on ShenyuRequestLog to extend log
-     *
-     * @param exchange exchange
-     * @param selector selector
-     * @param rule rule
-     * @return base ShenyuRequestLog
-     */
-    @Override
-    protected ShenyuRequestLog doLogExecute(final ServerWebExchange exchange, 
final SelectorData selector, final RuleData rule) {
-        return new ShenyuRequestLog();
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/client/PulsarLogCollectClient.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/client/PulsarLogCollectClient.java
deleted file mode 100644
index 2c4235bb02..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/client/PulsarLogCollectClient.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.client;
-
-import net.jpountz.lz4.LZ4Compressor;
-import net.jpountz.lz4.LZ4Factory;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.pulsar.client.api.Producer;
-import org.apache.pulsar.client.api.PulsarClient;
-import org.apache.pulsar.client.api.PulsarClientException;
-import org.apache.shenyu.common.utils.JsonUtils;
-import org.apache.shenyu.plugin.logging.common.client.AbstractLogConsumeClient;
-import org.apache.shenyu.plugin.logging.common.entity.LZ4CompressData;
-import org.apache.shenyu.plugin.logging.common.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.pulsar.config.PulsarLogCollectConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.lang.NonNull;
-
-import java.nio.charset.StandardCharsets;
-import java.util.List;
-import java.util.Objects;
-
-/**
- * queue-based logging collector.
- */
-public class PulsarLogCollectClient extends 
AbstractLogConsumeClient<PulsarLogCollectConfig.PulsarLogConfig, 
ShenyuRequestLog> {
-    private static final Logger LOG = 
LoggerFactory.getLogger(PulsarLogCollectClient.class);
-
-    private PulsarClient client;
-
-    private Producer<byte[]> producer;
-
-    /**
-     * init producer.
-     * 
-     * @param config pulsar props
-     * @return true if the client was initialized successfully
-     */
-    @Override
-    public boolean initClient0(@NonNull final 
PulsarLogCollectConfig.PulsarLogConfig config) {
-        String topic = config.getTopic();
-        String serviceUrl = config.getServiceUrl();
-        if (StringUtils.isBlank(topic) || StringUtils.isBlank(serviceUrl)) {
-            LOG.error("init PulsarLogCollectClient error, please check topic 
or serviceUrl.");
-            return false;
-        }
-        try {
-            client = PulsarClient.builder().serviceUrl(serviceUrl).build();
-            producer = client.newProducer().topic(topic).create();
-            LOG.info("init PulsarLogCollectClient success.");
-
-        } catch (PulsarClientException e) {
-            LOG.error("init PulsarLogCollectClient error, ", e);
-            close0();
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public void consume0(@NonNull final List<ShenyuRequestLog> logs) {
-        if (Objects.isNull(producer)) {
-            LOG.warn("Pulsar producer is not initialized.");
-            return;
-        }
-        logs.forEach(log -> producer.sendAsync(toBytes(log)));
-    }
-
-    private byte[] toBytes(final ShenyuRequestLog log) {
-        byte[] bytes = JsonUtils.toJson(log).getBytes(StandardCharsets.UTF_8);
-        String compressAlg = 
StringUtils.defaultIfBlank(PulsarLogCollectConfig.INSTANCE.getPulsarLogConfig().getCompressAlg(),
 "");
-        if ("LZ4".equalsIgnoreCase(compressAlg.trim())) {
-            LZ4CompressData lz4CompressData = new 
LZ4CompressData(bytes.length, compressedByte(bytes));
-            return 
JsonUtils.toJson(lz4CompressData).getBytes(StandardCharsets.UTF_8);
-        } else {
-            return bytes;
-        }
-    }
-
-    private byte[] compressedByte(final byte[] srcByte) {
-        LZ4Factory factory = LZ4Factory.fastestInstance();
-        LZ4Compressor compressor = factory.fastCompressor();
-        return compressor.compress(srcByte);
-    }
-
-    @Override
-    public void close0() {
-        try {
-            if (Objects.nonNull(producer)) {
-                producer.close();
-            }
-            if (Objects.nonNull(client)) {
-                client.close();
-            }
-        } catch (PulsarClientException e) {
-            LOG.error("fail to close PulsarLogCollectClient, e", e);
-        }
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/collector/PulsarLogCollector.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/collector/PulsarLogCollector.java
deleted file mode 100644
index 3b3b416d05..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/collector/PulsarLogCollector.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.collector;
-
-import org.apache.shenyu.plugin.logging.common.collector.AbstractLogCollector;
-import org.apache.shenyu.plugin.logging.common.collector.LogCollector;
-import org.apache.shenyu.plugin.logging.common.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.desensitize.api.matcher.KeyWordMatch;
-import org.apache.shenyu.plugin.logging.pulsar.client.PulsarLogCollectClient;
-import org.apache.shenyu.plugin.logging.pulsar.config.PulsarLogCollectConfig;
-import 
org.apache.shenyu.plugin.logging.pulsar.handler.LoggingPulsarPluginDataHandler;
-
-public class PulsarLogCollector extends 
AbstractLogCollector<PulsarLogCollectClient, ShenyuRequestLog, 
PulsarLogCollectConfig.PulsarLogConfig> {
-
-    private static final LogCollector<ShenyuRequestLog> INSTANCE = new 
PulsarLogCollector();
-
-    /**
-     * get LogCollector Instance.
-     *
-     * @return LogCollector instance
-     */
-    public static LogCollector<ShenyuRequestLog> getInstance() {
-        return INSTANCE;
-    }
-
-    @Override
-    protected PulsarLogCollectClient getLogConsumeClient() {
-        return LoggingPulsarPluginDataHandler.getPulsarLogCollectClient();
-    }
-
-    @Override
-    protected PulsarLogCollectConfig.PulsarLogConfig getLogCollectConfig() {
-        return PulsarLogCollectConfig.INSTANCE.getPulsarLogConfig();
-    }
-
-    @Override
-    protected void desensitizeLog(final ShenyuRequestLog log, final 
KeyWordMatch keyWordMatch, final String desensitizeAlg) {
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/config/PulsarLogCollectConfig.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/config/PulsarLogCollectConfig.java
deleted file mode 100644
index 94902d1d6d..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/config/PulsarLogCollectConfig.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.config;
-
-import org.apache.shenyu.plugin.logging.common.config.GenericApiConfig;
-import org.apache.shenyu.plugin.logging.common.config.GenericGlobalConfig;
-
-import java.util.Objects;
-import java.util.Optional;
-
-public class PulsarLogCollectConfig {
-
-    public static final PulsarLogCollectConfig INSTANCE = new 
PulsarLogCollectConfig();
-
-    private PulsarLogConfig pulsarLogConfig;
-
-    /**
-     * get global log config.
-     *
-     * @return global log config
-     */
-    public PulsarLogConfig getPulsarLogConfig() {
-        return Optional.ofNullable(pulsarLogConfig).orElse(new 
PulsarLogConfig());
-    }
-
-    /**
-     * set global log config.
-     *
-     * @param pulsarLogConfig global log config
-     */
-    public void setPulsarLogConfig(final PulsarLogConfig pulsarLogConfig) {
-        this.pulsarLogConfig = pulsarLogConfig;
-    }
-
-    public static class PulsarLogConfig extends GenericGlobalConfig {
-
-        private String compressAlg;
-
-        private String topic;
-
-        private String serviceUrl;
-
-        /**
-         * whether compress.
-         *
-         * @return compress or not
-         */
-        public String getCompressAlg() {
-            return compressAlg;
-        }
-
-        /**
-         * set compress.
-         *
-         * @param compressAlg compress alg.
-         */
-        public void setCompressAlg(final String compressAlg) {
-            this.compressAlg = compressAlg;
-        }
-
-        /**
-         * get message queue topic.
-         *
-         * @return message queue topic
-         */
-        public String getTopic() {
-            return topic;
-        }
-
-        /**
-         * topic,used for message queue.
-         *
-         * @param topic mq topic
-         */
-        public void setTopic(final String topic) {
-            this.topic = topic;
-        }
-
-        /**
-         * get pulsar service URL.
-         * @return pulsar service URL
-         */
-        public String getServiceUrl() {
-            return serviceUrl;
-        }
-
-        /**
-         * set pulsar service URL.
-         * @param serviceUrl pulsar service URL
-         */
-        public void setServiceUrl(final String serviceUrl) {
-            this.serviceUrl = serviceUrl;
-        }
-
-        @Override
-        public boolean equals(final Object o) {
-            if (this == o) {
-                return Boolean.TRUE;
-            }
-
-            if (Objects.isNull(o) || getClass() != o.getClass()) {
-                return Boolean.FALSE;
-            }
-
-            PulsarLogConfig that = (PulsarLogConfig) o;
-            return Objects.equals(getTopic(), that.getTopic())
-                    && Objects.equals(getCompressAlg(), that.getCompressAlg())
-                    && Objects.equals(getServiceUrl(), that.getServiceUrl())
-                    && Objects.equals(getSampleRate(), that.getSampleRate())
-                    && Objects.equals(getBufferQueueSize(), 
that.getBufferQueueSize())
-                    && Objects.equals(getMaxRequestBody(), 
that.getMaxRequestBody())
-                    && Objects.equals(getMaxResponseBody(), 
that.getMaxResponseBody());
-        }
-
-        @Override
-        public int hashCode() {
-            return Objects.hash(topic, compressAlg, serviceUrl);
-        }
-    }
-
-    public static class LogApiConfig extends GenericApiConfig {
-
-        /**
-         * 0 means never sample, 1 means always sample. Minimum probability is 
0.01, or 1% of logging
-         */
-        private String sampleRate;
-
-        /**
-         * This topic is useful if you use message queuing to collect logs.
-         */
-        private String topic;
-
-        /**
-         * get sample rate.
-         *
-         * @return sample rate
-         */
-        @Override
-        public String getSampleRate() {
-            return sampleRate;
-        }
-
-        /**
-         * set sample rate.
-         *
-         * @param sampleRate sample rate
-         */
-        @Override
-        public void setSampleRate(final String sampleRate) {
-            this.sampleRate = sampleRate;
-        }
-
-        /**
-         * get mq topic.
-         *
-         * @return mq topic
-         */
-        @Override
-        public String getTopic() {
-            return topic;
-        }
-
-        /**
-         * set mq topic.
-         *
-         * @param topic mq topic
-         */
-        @Override
-        public void setTopic(final String topic) {
-            this.topic = topic;
-        }
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/handler/LoggingPulsarPluginDataHandler.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/handler/LoggingPulsarPluginDataHandler.java
deleted file mode 100644
index 75b42141db..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/main/java/org/apache/shenyu/plugin/logging/pulsar/handler/LoggingPulsarPluginDataHandler.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.handler;
-
-import org.apache.shenyu.common.enums.PluginEnum;
-import org.apache.shenyu.plugin.logging.common.collector.LogCollector;
-import 
org.apache.shenyu.plugin.logging.common.handler.AbstractLogPluginDataHandler;
-import org.apache.shenyu.plugin.logging.pulsar.client.PulsarLogCollectClient;
-import org.apache.shenyu.plugin.logging.pulsar.collector.PulsarLogCollector;
-import org.apache.shenyu.plugin.logging.pulsar.config.PulsarLogCollectConfig;
-
-
-/**
- * The type logging pulsar plugin data handler.
- */
-public class LoggingPulsarPluginDataHandler extends 
AbstractLogPluginDataHandler<PulsarLogCollectConfig.PulsarLogConfig, 
PulsarLogCollectConfig.LogApiConfig> {
-
-    private static final PulsarLogCollectClient PULSAR_LOG_COLLECT_CLIENT = 
new PulsarLogCollectClient();
-
-    /**
-     * logCollector.
-     */
-    @Override
-    protected LogCollector logCollector() {
-        return PulsarLogCollector.getInstance();
-    }
-
-    /**
-     * doRefreshConfig.
-     *
-     * @param globalLogConfig globalLogConfig
-     */
-    @Override
-    protected void doRefreshConfig(final 
PulsarLogCollectConfig.PulsarLogConfig globalLogConfig) {
-        PulsarLogCollectConfig.INSTANCE.setPulsarLogConfig(globalLogConfig);
-        PULSAR_LOG_COLLECT_CLIENT.initClient(globalLogConfig);
-    }
-
-    @Override
-    public String pluginNamed() {
-        return PluginEnum.LOGGING_PULSAR.getName();
-    }
-
-    /**
-     * get pulsar log collect client.
-     * @return pulsar log collect client
-     */
-    public static PulsarLogCollectClient getPulsarLogCollectClient() {
-        return PULSAR_LOG_COLLECT_CLIENT;
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/LoggingPulsarPluginTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/LoggingPulsarPluginTest.java
deleted file mode 100644
index f77a80e460..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/LoggingPulsarPluginTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar;
-
-import org.apache.shenyu.common.constant.Constants;
-import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.enums.PluginEnum;
-import org.apache.shenyu.plugin.api.RemoteAddressResolver;
-import org.apache.shenyu.plugin.api.ShenyuPluginChain;
-import org.apache.shenyu.plugin.api.context.ShenyuContext;
-import org.apache.shenyu.plugin.api.utils.SpringBeanUtils;
-import org.apache.shenyu.plugin.logging.common.entity.ShenyuRequestLog;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.ArgumentMatchers;
-import org.mockito.Mockito;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.http.server.reactive.ServerHttpRequest;
-import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
-import org.springframework.mock.web.server.MockServerWebExchange;
-import org.springframework.web.server.ServerWebExchange;
-import reactor.core.publisher.Mono;
-import reactor.test.StepVerifier;
-
-import java.net.InetSocketAddress;
-
-@ExtendWith(MockitoExtension.class)
-public class LoggingPulsarPluginTest {
-
-    private LoggingPulsarPlugin loggingPulsarPlugin;
-
-    private ServerWebExchange exchange;
-
-    private RuleData ruleData;
-
-    private ShenyuPluginChain chain;
-
-    private SelectorData selectorData;
-
-    private ServerHttpRequest request;
-
-    private ShenyuRequestLog requestLog;
-
-    @BeforeEach
-    public void setUp() {
-        this.loggingPulsarPlugin = new LoggingPulsarPlugin();
-        this.ruleData = Mockito.mock(RuleData.class);
-        this.chain = Mockito.mock(ShenyuPluginChain.class);
-        this.selectorData = Mockito.mock(SelectorData.class);
-        this.request = Mockito.mock(ServerHttpRequest.class);
-        this.requestLog = new ShenyuRequestLog();
-        MockServerHttpRequest request = MockServerHttpRequest
-                .get("localhost")
-                .remoteAddress(new InetSocketAddress(8090))
-                .header("X-source", "mock test")
-                .queryParam("queryParam", "Hello,World")
-                .build();
-        ConfigurableApplicationContext context = 
Mockito.mock(ConfigurableApplicationContext.class);
-        SpringBeanUtils.getInstance().setApplicationContext(context);
-        RemoteAddressResolver remoteAddressResolver = new 
RemoteAddressResolver() {
-        };
-        
Mockito.lenient().when(context.getBean(RemoteAddressResolver.class)).thenReturn(remoteAddressResolver);
-        this.exchange = Mockito.spy(MockServerWebExchange.from(request));
-        ShenyuContext shenyuContext = Mockito.mock(ShenyuContext.class);
-        exchange.getAttributes().put(Constants.CONTEXT, shenyuContext);
-    }
-
-    @Test
-    public void testDoExecute() {
-        
Mockito.when(chain.execute(ArgumentMatchers.any())).thenReturn(Mono.empty());
-        Mockito.when(selectorData.getId()).thenReturn("111");
-        Mockito.when(selectorData.getPluginId()).thenReturn("111");
-        Mono<Void> result = loggingPulsarPlugin.doExecute(exchange, chain, 
selectorData, ruleData);
-        StepVerifier.create(result).expectSubscription().verifyComplete();
-    }
-
-    @Test
-    public void testGetOrder() {
-        Assertions.assertEquals(loggingPulsarPlugin.getOrder(), 
PluginEnum.LOGGING_PULSAR.getCode());
-    }
-
-    @Test
-    public void testNamed() {
-        Assertions.assertEquals(loggingPulsarPlugin.named(), 
PluginEnum.LOGGING_PULSAR.getName());
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/client/PulsarLogCollectClientTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/client/PulsarLogCollectClientTest.java
deleted file mode 100644
index 1962cbec96..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/client/PulsarLogCollectClientTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.client;
-
-import org.apache.shenyu.common.dto.PluginData;
-import org.apache.shenyu.common.utils.GsonUtils;
-import org.apache.shenyu.plugin.logging.common.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.pulsar.config.PulsarLogCollectConfig;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class PulsarLogCollectClientTest {
-
-    private final PluginData pluginData = new PluginData();
-
-    private final List<ShenyuRequestLog> logs = new ArrayList<>();
-
-    private final ShenyuRequestLog shenyuRequestLog = new ShenyuRequestLog();
-
-    private PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig;
-
-    private PulsarLogCollectClient pulsarLogCollectClient;
-
-    @BeforeEach
-    public void setup() {
-        this.pulsarLogCollectClient = new PulsarLogCollectClient();
-        pluginData.setEnabled(true);
-        pluginData.setConfig("{\"topic\":\"test\", \"serviceUrl\":\"test\"}");
-        pulsarLogConfig = 
GsonUtils.getInstance().fromJson(pluginData.getConfig(), 
PulsarLogCollectConfig.PulsarLogConfig.class);
-        shenyuRequestLog.setClientIp("0.0.0.0");
-        shenyuRequestLog.setPath("org/apache/shenyu/plugin/logging");
-        logs.add(shenyuRequestLog);
-    }
-
-    @Test
-    public void testConsume() {
-        PulsarLogCollectConfig.INSTANCE.setPulsarLogConfig(pulsarLogConfig);
-        pulsarLogCollectClient.initClient(pulsarLogConfig);
-        Assertions.assertDoesNotThrow(() -> 
pulsarLogCollectClient.consume(logs));
-        pulsarLogCollectClient.close();
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/collector/PulsarLogCollectorTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/collector/PulsarLogCollectorTest.java
deleted file mode 100644
index e59fc72c1a..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/collector/PulsarLogCollectorTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.collector;
-
-import org.apache.shenyu.plugin.logging.common.client.LogConsumeClient;
-import org.apache.shenyu.plugin.logging.common.collector.AbstractLogCollector;
-import org.apache.shenyu.plugin.logging.common.entity.ShenyuRequestLog;
-import org.apache.shenyu.plugin.logging.pulsar.client.PulsarLogCollectClient;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.lang.reflect.Field;
-
-public class PulsarLogCollectorTest {
-
-    private final ShenyuRequestLog shenyuRequestLog = new ShenyuRequestLog();
-
-    @BeforeEach
-    public void setup() {
-        shenyuRequestLog.setClientIp("0.0.0.0");
-        shenyuRequestLog.setPath("org/apache/shenyu/plugin/logging");
-    }
-
-    @Test
-    public void testAbstractLogCollector() throws Exception {
-        PulsarLogCollector.getInstance().start();
-        Field field1 = AbstractLogCollector.class.getDeclaredField("started");
-        field1.setAccessible(true);
-        
Assertions.assertEquals(field1.get(PulsarLogCollector.getInstance()).toString(),
 "true");
-        PulsarLogCollector.getInstance().collect(shenyuRequestLog);
-        PulsarLogCollector.getInstance().close();
-        Field field2 = AbstractLogCollector.class.getDeclaredField("started");
-        field2.setAccessible(true);
-        
Assertions.assertEquals(field2.get(PulsarLogCollector.getInstance()).toString(),
 "false");
-    }
-
-    @Test
-    public void testGetLogConsumeClient() {
-        LogConsumeClient logConsumeClient = new 
PulsarLogCollector().getLogConsumeClient();
-        Assertions.assertEquals(PulsarLogCollectClient.class, 
logConsumeClient.getClass());
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/config/PulsarCollectConfigTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/config/PulsarCollectConfigTest.java
deleted file mode 100644
index a119c642ec..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/config/PulsarCollectConfigTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.config;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-public class PulsarCollectConfigTest {
-
-    @Test
-    public void testSetLogApiConfigTopic() {
-        PulsarLogCollectConfig.LogApiConfig logApiConfig = new 
PulsarLogCollectConfig.LogApiConfig();
-        logApiConfig.setTopic("test");
-        Assertions.assertEquals(logApiConfig.getTopic(), "test");
-    }
-
-    @Test
-    public void testSetLogApiConfigSampleRate() {
-        PulsarLogCollectConfig.LogApiConfig logApiConfig = new 
PulsarLogCollectConfig.LogApiConfig();
-        logApiConfig.setSampleRate("1");
-        Assertions.assertEquals(logApiConfig.getSampleRate(), "1");
-    }
-
-    @Test
-    public void testGetGlobalLogConfigSampleRate() {
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogConfig.setSampleRate("1");
-        Assertions.assertEquals(pulsarLogConfig.getSampleRate(), "1");
-    }
-
-    @Test
-    public void testSetGlobalLogConfigTopic() {
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogConfig.setTopic("test");
-        Assertions.assertEquals(pulsarLogConfig.getTopic(), "test");
-    }
-
-    @Test
-    public void testSetGlobalLogConfigMaxResponseBody() {
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogConfig.setMaxResponseBody(5);
-        Assertions.assertEquals(pulsarLogConfig.getMaxResponseBody(), 5);
-    }
-
-    @Test
-    public void testSetGlobalLogConfigMaxRequestBody() {
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogConfig.setMaxRequestBody(5);
-        Assertions.assertEquals(pulsarLogConfig.getMaxRequestBody(), 5);
-    }
-
-    @Test
-    public void testSetGlobalLogConfigServiceUrl() {
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogConfig.setServiceUrl("test");
-        Assertions.assertEquals(pulsarLogConfig.getServiceUrl(), "test");
-    }
-
-    @Test
-    public void testGetGlobalLogConfig() {
-        PulsarLogCollectConfig pulsarLogCollectConfig = new 
PulsarLogCollectConfig();
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogCollectConfig.setPulsarLogConfig(pulsarLogConfig);
-        Assertions.assertEquals(pulsarLogCollectConfig.getPulsarLogConfig(), 
pulsarLogConfig);
-    }
-
-    @Test
-    public void testCompressAlg() {
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogConfig.setCompressAlg("LZ4");
-        Assertions.assertEquals(pulsarLogConfig.getCompressAlg(), "LZ4");
-    }
-
-    @Test
-    public void testBufferQueueSize() {
-        PulsarLogCollectConfig.PulsarLogConfig pulsarLogConfig = new 
PulsarLogCollectConfig.PulsarLogConfig();
-        pulsarLogConfig.setBufferQueueSize(50000);
-        Assertions.assertEquals(pulsarLogConfig.getBufferQueueSize(), 50000);
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/handler/LoggingPulsarPluginDataHandlerTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/handler/LoggingPulsarPluginDataHandlerTest.java
deleted file mode 100644
index 998a7cc0b9..0000000000
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-pulsar/src/test/java/org/apache/shenyu/plugin/logging/pulsar/handler/LoggingPulsarPluginDataHandlerTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.plugin.logging.pulsar.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.pulsar.client.PulsarLogCollectClient;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-public class LoggingPulsarPluginDataHandlerTest {
-
-    private final SelectorData selectorData = new SelectorData();
-
-    private final ConditionData conditionData = new ConditionData();
-
-    private final PluginData pluginData = new PluginData();
-
-    private LoggingPulsarPluginDataHandler loggingPulsarPluginDataHandler;
-
-    @BeforeEach
-    public void setup() {
-        this.loggingPulsarPluginDataHandler = new 
LoggingPulsarPluginDataHandler();
-        selectorData.setId("1");
-        selectorData.setType(1);
-        selectorData.setHandle("{\"topic\":\"test\",\"sampleRate\":\"1\"}");
-        conditionData.setParamName("id");
-        conditionData.setParamType("uri");
-        conditionData.setParamValue("11");
-        conditionData.setOperator("=");
-        List<ConditionData> list = new ArrayList<>();
-        list.add(conditionData);
-        selectorData.setConditionList(list);
-        pluginData.setEnabled(true);
-        pluginData.setId(UUID.randomUUID().toString().replace("-", ""));
-        pluginData.setConfig("{\"topic\":\"test\", \"serviceUrl\":\"test\"}");
-    }
-
-    @Test
-    public void testHandlerPlugin() throws NoSuchFieldException, 
IllegalAccessException {
-        loggingPulsarPluginDataHandler.handlerPlugin(pluginData);
-        Field field = 
loggingPulsarPluginDataHandler.getClass().getDeclaredField("PULSAR_LOG_COLLECT_CLIENT");
-        field.setAccessible(true);
-        
Assertions.assertEquals(field.get(loggingPulsarPluginDataHandler).getClass(), 
PulsarLogCollectClient.class);
-        pluginData.setEnabled(false);
-        loggingPulsarPluginDataHandler.handlerPlugin(pluginData);
-    }
-
-    @Test
-    public void testPluginNamed() {
-        Assertions.assertEquals(loggingPulsarPluginDataHandler.pluginNamed(), 
"loggingPulsar");
-    }
-
-    @Test
-    public void testGetPulsarLogCollectClient() {
-        
Assertions.assertEquals(LoggingPulsarPluginDataHandler.getPulsarLogCollectClient().getClass(),
 PulsarLogCollectClient.class);
-    }
-}
diff --git 
a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/pom.xml 
b/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/pom.xml
index 6bd052d51d..06e586a090 100644
--- a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/pom.xml
+++ b/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/pom.xml
@@ -61,7 +61,6 @@
         
<module>shenyu-spring-boot-starter-plugin-logging-elasticsearch</module>
         <module>shenyu-spring-boot-starter-plugin-cache</module>
         <module>shenyu-spring-boot-starter-plugin-mock</module>
-        <module>shenyu-spring-boot-starter-plugin-logging-pulsar</module>
         <module>shenyu-spring-boot-starter-plugin-logging-tencent-cls</module>
         <module>shenyu-spring-boot-starter-plugin-logging-clickhouse</module>
         <module>shenyu-spring-boot-starter-plugin-casdoor</module>
diff --git 
a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/pom.xml
 
b/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/pom.xml
deleted file mode 100644
index f100c670e1..0000000000
--- 
a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <parent>
-        <groupId>org.apache.shenyu</groupId>
-        <artifactId>shenyu-spring-boot-starter-plugin</artifactId>
-        <version>2.7.2-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>shenyu-spring-boot-starter-plugin-logging-pulsar</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.shenyu</groupId>
-            <artifactId>shenyu-plugin-logging-pulsar</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-</project>
diff --git 
a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/src/main/java/org/apache/shenyu/springboot/starter/plugin/logging/pulsar/LoggingPulsarPluginConfiguration.java
 
b/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/src/main/java/org/apache/shenyu/springboot/starter/plugin/logging/pulsar/LoggingPulsarPluginConfiguration.java
deleted file mode 100644
index 213a1220d4..0000000000
--- 
a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/src/main/java/org/apache/shenyu/springboot/starter/plugin/logging/pulsar/LoggingPulsarPluginConfiguration.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.springboot.starter.plugin.logging.pulsar;
-
-import org.apache.shenyu.plugin.api.ShenyuPlugin;
-import org.apache.shenyu.plugin.base.handler.PluginDataHandler;
-import org.apache.shenyu.plugin.logging.pulsar.LoggingPulsarPlugin;
-import 
org.apache.shenyu.plugin.logging.pulsar.handler.LoggingPulsarPluginDataHandler;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * config logging Pulsar plugin.
- */
-@Configuration
-@ConditionalOnProperty(value = {"shenyu.plugins.logging-pulsar.enabled"}, 
havingValue = "true", matchIfMissing = true)
-public class LoggingPulsarPluginConfiguration {
-
-    /**
-     * logging pulsar plugin data handler.
-     *
-     * @return logging pulsar PluginDataHandler
-     */
-    @Bean
-    public PluginDataHandler loggingPulsarPluginDataHandler() {
-        return new LoggingPulsarPluginDataHandler();
-    }
-
-    /**
-     * Logging Pulsar plugin.
-     *
-     * @return LoggingPulsarPlugin
-     */
-    @Bean
-    public ShenyuPlugin loggingPulsarPlugin() {
-        return new LoggingPulsarPlugin();
-    }
-}
diff --git 
a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 
b/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index fd9f385af8..0000000000
--- 
a/shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-logging-pulsar/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shenyu.springboot.starter.plugin.logging.pulsar.LoggingPulsarPluginConfiguration

Reply via email to