diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
index 33b8ec6..ee9621d 100644
--- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
+++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
@@ -96,6 +96,7 @@
     try {
       return new URL(urlString);
     } catch (MalformedURLException e) {
+      LOGGER.warn("get url failed", e);
       return null;
     }
   }
diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java
index 331a2a6..bdbbdc4 100644
--- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java
+++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java
@@ -82,10 +82,11 @@
                   .filter(e -> e.getInternalEndPoint().equals(endPoint))
                   .findFirst()
                   .orElse(null);
-        } catch (BadNodeUrlException e2) {
+        } catch (BadNodeUrlException e) {
           LOGGER.info(
               "Usage: remove-confignode.sh <confignode-id> "
-                  + "or remove-confignode.sh <internal_address>:<internal_port>");
+                  + "or remove-confignode.sh <internal_address>:<internal_port>",
+              e);
           return nodeLocation;
         }
       }
diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java
index ca7bcb3..ba9d74a 100644
--- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java
+++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java
@@ -373,7 +373,8 @@
       throw new IOException(
           "The parameter config_node_id doesn't exist in "
               + "data/confignode/system/confignode-system.properties. "
-              + "Please delete data dir data/confignode and restart again.");
+              + "Please delete data dir data/confignode and restart again.",
+          e);
     }
   }
 
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index aea79ce..fe90078 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -164,11 +164,12 @@
     try {
       return new URL(urlString);
     } catch (MalformedURLException e) {
+      LOGGER.warn("get url failed", e);
       return null;
     }
   }
 
-  /** load an property file and set TsfileDBConfig variables. */
+  /** load a property file and set TsfileDBConfig variables. */
   @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
   private void loadProps() {
     URL url = getPropsUrl(CommonConfig.CONFIG_NAME);
@@ -1848,7 +1849,8 @@
           throw new RuntimeException(
               "Each subsection of configuration item chunkmeta_chunk_timeseriesmeta_free_memory_proportion"
                   + " should be an integer, which is "
-                  + queryMemoryAllocateProportion);
+                  + queryMemoryAllocateProportion,
+              e);
         }
       }
     }
@@ -2020,7 +2022,8 @@
         throw new RuntimeException(
             "Each subsection of configuration item udf_reader_transformer_collector_memory_proportion"
                 + " should be an integer, which is "
-                + readerTransformerCollectorMemoryProportion);
+                + readerTransformerCollectorMemoryProportion,
+            e);
       }
     }
   }
@@ -2125,7 +2128,8 @@
         configNodeUrls = configNodeUrls.trim();
         conf.setSeedConfigNode(NodeUrlUtils.parseTEndPointUrls(configNodeUrls).get(0));
       } catch (BadNodeUrlException e) {
-        LOGGER.error("ConfigNodes are set in wrong format, please set them like 127.0.0.1:10710");
+        LOGGER.error(
+            "ConfigNodes are set in wrong format, please set them like 127.0.0.1:10710", e);
       }
     } else {
       throw new IOException(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceDescriptor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceDescriptor.java
index f84f680..e0d0df3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceDescriptor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceDescriptor.java
@@ -163,6 +163,7 @@
     try {
       return new URL(urlString);
     } catch (MalformedURLException e) {
+      logger.warn("get url failed", e);
       return null;
     }
   }
