diff --git a/inlong-dataproxy/conf/log4j2.xml b/inlong-dataproxy/conf/log4j2.xml
index 71ccb85..e51602b 100644
--- a/inlong-dataproxy/conf/log4j2.xml
+++ b/inlong-dataproxy/conf/log4j2.xml
@@ -17,10 +17,10 @@
     specific language governing permissions and limitations
     under the License.
 -->
-<configuration status="WARN" monitorInterval="30" package="org.apache.inlong.dataproxy.config">
+<configuration status="WARN" monitorInterval="30" packages="org.apache.inlong.dataproxy.config">
     <Properties>
         <property name="basePath">${sys:dataproxy.log.path}</property>
-        <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-30.30C{1.}:%L %mask%n</property>
+        <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-30.30C{1.}:%L %mask %n</property>
         <property name="every_file_size">1G</property>
         <property name="output_log_level">DEBUG</property>
         <property name="rolling_max">50</property>
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSourceEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSourceEntity.java
index 2d7a1aa..dab6db2 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSourceEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSourceEntity.java
@@ -21,6 +21,8 @@
 
 import java.io.Serializable;
 import java.util.Date;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.inlong.common.util.MaskDataUtils;
 
 /**
  * Stream source entity, including source type, source name, etc.
@@ -56,4 +58,36 @@
     private Date createTime;
     private Date modifyTime;
 
+    @Override
+    public String toString() {
+        if (StringUtils.isNotEmpty(extParams)) {
+            StringBuilder buffer = new StringBuilder(extParams);
+            MaskDataUtils.mask(buffer);
+            extParams = buffer.toString();
+        }
+        return "StreamSourceEntity{"
+                + "id=" + id
+                + ", inlongGroupId='" + inlongGroupId + '\''
+                + ", inlongStreamId='" + inlongStreamId + '\''
+                + ", sourceType='" + sourceType + '\''
+                + ", sourceName='" + sourceName + '\''
+                + ", templateId=" + templateId
+                + ", agentIp='" + agentIp + '\''
+                + ", uuid='" + uuid + '\''
+                + ", dataNodeName='" + dataNodeName + '\''
+                + ", inlongClusterName='" + inlongClusterName + '\''
+                + ", serializationType='" + serializationType + '\''
+                + ", snapshot='" + snapshot + '\''
+                + ", reportTime=" + reportTime
+                + ", extParams='" + extParams + '\''
+                + ", version=" + version
+                + ", status=" + status
+                + ", previousStatus=" + previousStatus
+                + ", isDeleted=" + isDeleted
+                + ", creator='" + creator + '\''
+                + ", modifier='" + modifier + '\''
+                + ", createTime=" + createTime + '\''
+                + ", modifyTime=" + modifyTime
+                + '}';
+    }
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-web/src/main/resources/log4j2.xml b/inlong-manager/manager-web/src/main/resources/log4j2.xml
index 7add284..674f92e 100644
--- a/inlong-manager/manager-web/src/main/resources/log4j2.xml
+++ b/inlong-manager/manager-web/src/main/resources/log4j2.xml
@@ -17,10 +17,10 @@
     specific language governing permissions and limitations
     under the License.
 -->
-<configuration status="WARN" monitorInterval="30" package="org.apache.inlong.manager.web.config">
+<configuration status="WARN" monitorInterval="30" packages="org.apache.inlong.manager.web.config">
     <properties>
         <property name="basePath">logs</property>
-        <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p [%5.30t] %-30.30C{1.}:%L - %mask%n</property>
+        <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p [%5.30t] %-30.30C{1.}:%L - %mask %n</property>
         <property name="every_file_size">1G</property>
         <property name="rolling_max">50</property>
         <property name="all_fileName">${basePath}/manager-all.log</property>
