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

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


The following commit(s) were added to refs/heads/master by this push:
     new b9d3c063a8a Make JDBC's log implementation optional (#24087)
b9d3c063a8a is described below

commit b9d3c063a8acad209cd17a5880f2f667a1999b39
Author: ChenJiaHao <[email protected]>
AuthorDate: Fri Feb 10 14:26:48 2023 +0800

    Make JDBC's log implementation optional (#24087)
    
    * Remove dependency to logging module in JDBC
    
    * Fix UT
    
    * Disable refreshLogger and make refreshRootLogger only work on Proxy
---
 infra/context/pom.xml                                 |  5 -----
 .../infra/context/kernel/KernelProcessor.java         | 19 +------------------
 .../infra/context/kernel/KernelProcessorTest.java     |  2 --
 jdbc/core/pom.xml                                     | 10 +++++-----
 .../logging/rule/builder/LoggingRuleBuilder.java      |  4 ++--
 mode/core/pom.xml                                     |  5 -----
 .../mode/metadata/MetaDataContexts.java               | 18 ------------------
 .../ConfigurationChangedSubscriberTest.java           |  4 +---
 proxy/backend/pom.xml                                 |  5 +++++
 .../distsql/ral/updatable/SetDistVariableHandler.java | 15 +++++++++++++++
 10 files changed, 29 insertions(+), 58 deletions(-)

diff --git a/infra/context/pom.xml b/infra/context/pom.xml
index 4d953c382e4..a4b50e2a140 100644
--- a/infra/context/pom.xml
+++ b/infra/context/pom.xml
@@ -48,11 +48,6 @@
             <artifactId>shardingsphere-authority-core</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-logging-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-transaction-core</artifactId>
diff --git 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
index fcf2756b9f7..4b0d918f111 100644
--- 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
+++ 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
@@ -30,12 +30,6 @@ import 
org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry;
 import org.apache.shardingsphere.infra.rewrite.engine.result.SQLRewriteResult;
 import org.apache.shardingsphere.infra.route.context.RouteContext;
 import org.apache.shardingsphere.infra.route.engine.SQLRouteEngine;
-import org.apache.shardingsphere.logging.constant.LoggingConstants;
-import org.apache.shardingsphere.logging.logger.ShardingSphereLogger;
-import org.apache.shardingsphere.logging.utils.LoggingUtils;
-
-import java.util.Optional;
-import java.util.Properties;
 
 /**
  * Kernel processor.
@@ -77,19 +71,8 @@ public final class KernelProcessor {
     }
     
     private void logSQL(final QueryContext queryContext, final 
ShardingSphereRuleMetaData globalRuleMetaData, final ConfigurationProperties 
props, final ExecutionContext executionContext) {
-        Optional<ShardingSphereLogger> sqlLogger = 
LoggingUtils.getSQLLogger(globalRuleMetaData);
-        if (sqlLogger.isPresent() && 
sqlLogger.get().getProps().containsKey(LoggingConstants.SQL_LOG_ENABLE)) {
-            logSQL(queryContext, executionContext, sqlLogger.get());
-        } else if (props.<Boolean>getValue(ConfigurationPropertyKey.SQL_SHOW)) 
{
+        if (props.<Boolean>getValue(ConfigurationPropertyKey.SQL_SHOW)) {
             SQLLogger.logSQL(queryContext, 
props.<Boolean>getValue(ConfigurationPropertyKey.SQL_SIMPLE), executionContext);
         }
     }
-    
-    private void logSQL(final QueryContext queryContext, final 
ExecutionContext executionContext, final ShardingSphereLogger sqlLogger) {
-        Properties loggerProps = sqlLogger.getProps();
-        if (loggerProps.containsKey(LoggingConstants.SQL_LOG_ENABLE) && 
Boolean.parseBoolean(loggerProps.get(LoggingConstants.SQL_LOG_ENABLE).toString()))
 {
-            SQLLogger.logSQL(queryContext, 
loggerProps.containsKey(LoggingConstants.SQL_LOG_SIMPLE) && 
Boolean.parseBoolean(loggerProps.get(LoggingConstants.SQL_SIMPLE).toString()),
-                    executionContext);
-        }
-    }
 }
diff --git 
a/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
 
b/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
index e93b24365a3..b3abfcccb8b 100644
--- 
a/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
+++ 
b/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
@@ -30,7 +30,6 @@ import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.logging.rule.LoggingRule;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
@@ -67,7 +66,6 @@ public final class KernelProcessorTest {
     private Collection<ShardingSphereRule> mockShardingSphereRule() {
         Collection<ShardingSphereRule> result = new LinkedList<>();
         result.add(mock(SQLTranslatorRule.class));
-        result.add(mock(LoggingRule.class, RETURNS_DEEP_STUBS));
         return result;
     }
 }
diff --git a/jdbc/core/pom.xml b/jdbc/core/pom.xml
index b8d153a48da..34cb1d09730 100644
--- a/jdbc/core/pom.xml
+++ b/jdbc/core/pom.xml
@@ -80,11 +80,6 @@
             <artifactId>shardingsphere-authority-core</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-logging-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-single-core</artifactId>
@@ -175,6 +170,11 @@
             <artifactId>shardingsphere-parser-core</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-logging-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
diff --git 
a/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
 
b/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
index da8e313899e..ebec18cebc1 100644
--- 
a/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
+++ 
b/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
@@ -35,8 +35,8 @@ public final class LoggingRuleBuilder implements 
GlobalRuleBuilder<LoggingRuleCo
     @Override
     public LoggingRule build(final LoggingRuleConfiguration ruleConfig, final 
Map<String, ShardingSphereDatabase> databases, final ConfigurationProperties 
props) {
         LoggingUtils.syncLoggingConfig(ruleConfig, props);
-        // TODO skip this while instance type is JDBC
-        LoggingUtils.refreshLogger(ruleConfig);
+        // TODO Make it only work on Proxy
+        // LoggingUtils.refreshLogger(ruleConfig);
         return new LoggingRule(ruleConfig);
     }
     
diff --git a/mode/core/pom.xml b/mode/core/pom.xml
index 1b82cd6480f..ffe959ef76f 100644
--- a/mode/core/pom.xml
+++ b/mode/core/pom.xml
@@ -33,11 +33,6 @@
             <artifactId>shardingsphere-infra-context</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <scope>compile</scope>
-        </dependency>
         
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
index 107908806b1..4d8d65bdac0 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
@@ -17,11 +17,7 @@
 
 package org.apache.shardingsphere.mode.metadata;
 
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.Logger;
-import ch.qos.logback.classic.LoggerContext;
 import lombok.Getter;
-import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import 
org.apache.shardingsphere.infra.database.type.dialect.OpenGaussDatabaseType;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import org.apache.shardingsphere.infra.metadata.data.ShardingSphereData;
@@ -32,11 +28,9 @@ import 
org.apache.shardingsphere.infra.metadata.data.builder.ShardingSphereDataB
 import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
-import org.slf4j.LoggerFactory;
 
 import java.util.Map.Entry;
 import java.util.Optional;
-import java.util.Properties;
 
 /**
  * Meta data contexts.
@@ -68,8 +62,6 @@ public final class MetaDataContexts implements AutoCloseable {
         Optional<ShardingSphereData> loadedShardingSphereData = 
Optional.ofNullable(persistService.getShardingSphereDataPersistService())
                 .flatMap(shardingSphereDataPersistService -> 
shardingSphereDataPersistService.load(metaData));
         loadedShardingSphereData.ifPresent(optional -> 
useLoadedToReplaceInit(result, optional));
-        // TODO skip this while instance type is JDBC
-        refreshRootLogger(metaData.getProps().getProps());
         return result;
     }
     
@@ -97,16 +89,6 @@ public final class MetaDataContexts implements AutoCloseable 
{
         }
     }
     
-    private void refreshRootLogger(final Properties props) {
-        LoggerContext loggerContext = (LoggerContext) 
LoggerFactory.getILoggerFactory();
-        Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
-        renewRootLoggerLevel(rootLogger, props);
-    }
-    
-    private void renewRootLoggerLevel(final Logger rootLogger, final 
Properties props) {
-        
rootLogger.setLevel(Level.valueOf(props.getOrDefault(ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getKey(),
 ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getDefaultValue()).toString()));
-    }
-    
     @Override
     public void close() {
         persistService.getRepository().close();
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
index 816209442ae..05498434500 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
@@ -37,7 +37,6 @@ import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
 import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
 import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
-import org.apache.shardingsphere.logging.rule.LoggingRule;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
 import 
org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder;
@@ -155,11 +154,10 @@ public final class ConfigurationChangedSubscriberTest {
         GlobalRuleConfigurationsChangedEvent event = new 
GlobalRuleConfigurationsChangedEvent(getChangedGlobalRuleConfigurations());
         subscriber.renew(event);
         
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
 not(globalRuleMetaData));
-        
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().size(),
 is(4));
+        
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().size(),
 is(3));
         
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
 -> each instanceof AuthorityRule).count(), is(1L));
         
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
 -> each instanceof TransactionRule).count(), is(1L));
         
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
 -> each instanceof SQLTranslatorRule).count(), is(1L));
-        
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
 -> each instanceof LoggingRule).count(), is(1L));
     }
     
     private Collection<RuleConfiguration> getChangedGlobalRuleConfigurations() 
{
diff --git a/proxy/backend/pom.xml b/proxy/backend/pom.xml
index c68dacbe35a..4628f29d12d 100644
--- a/proxy/backend/pom.xml
+++ b/proxy/backend/pom.xml
@@ -198,6 +198,11 @@
             <artifactId>shardingsphere-logging-core</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>compile</scope>
+        </dependency>
         
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
diff --git 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
index d727ee70621..4e3eec286e8 100644
--- 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
+++ 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
@@ -17,6 +17,9 @@
 
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
 
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.Logger;
+import ch.qos.logback.classic.LoggerContext;
 import org.apache.commons.lang3.BooleanUtils;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
@@ -33,6 +36,7 @@ import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.UpdatableRALB
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.common.enums.VariableEnum;
 import org.apache.shardingsphere.proxy.backend.util.SystemPropertyUtil;
 import org.apache.shardingsphere.transaction.api.TransactionType;
+import org.slf4j.LoggerFactory;
 
 import java.util.Properties;
 
@@ -68,6 +72,7 @@ public final class SetDistVariableHandler extends 
UpdatableRALBackendHandler<Set
         props.putAll(metaDataContexts.getMetaData().getProps().getProps());
         props.put(propertyKey.getKey(), getValue(propertyKey, value));
         
contextManager.getInstanceContext().getModeContextManager().alterProperties(props);
+        refreshRootLogger(props);
         syncSQLShowToLoggingRule(propertyKey, metaDataContexts, value);
         syncSQLSimpleToLoggingRule(propertyKey, metaDataContexts, value);
     }
@@ -81,6 +86,16 @@ public final class SetDistVariableHandler extends 
UpdatableRALBackendHandler<Set
         }
     }
     
+    private void refreshRootLogger(final Properties props) {
+        LoggerContext loggerContext = (LoggerContext) 
LoggerFactory.getILoggerFactory();
+        Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
+        renewRootLoggerLevel(rootLogger, props);
+    }
+    
+    private void renewRootLoggerLevel(final Logger rootLogger, final 
Properties props) {
+        
rootLogger.setLevel(Level.valueOf(props.getOrDefault(ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getKey(),
 ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getDefaultValue()).toString()));
+    }
+    
     private void syncSQLShowToLoggingRule(final ConfigurationPropertyKey 
propertyKey, final MetaDataContexts metaDataContexts, final String value) {
         if (LoggingConstants.SQL_SHOW.equalsIgnoreCase(propertyKey.getKey())) {
             
LoggingUtils.getSQLLogger(metaDataContexts.getMetaData().getGlobalRuleMetaData()).ifPresent(option
 -> {

Reply via email to