avoid print password when logging (#3969)
This commit is contained in:
+13
-1
@@ -2,6 +2,7 @@ package com.alibaba.otter.canal.admin.connector;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import org.assertj.core.util.Strings;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.env.Environment;
|
||||
@@ -26,7 +27,8 @@ public class SimpleAdminConnectors {
|
||||
connector.connect();
|
||||
return function.apply(connector);
|
||||
} catch (Exception e) {
|
||||
logger.error("connect to ip:{},port:{},user:{},password:{}, failed", ip, port, user, passwd);
|
||||
logger.error("connect to ip:{},port:{},user:{},password:{}, failed",
|
||||
ip, port, user, getDesensitizationPassword(passwd));
|
||||
logger.error(e.getMessage());
|
||||
} finally {
|
||||
connector.disconnect();
|
||||
@@ -34,4 +36,14 @@ public class SimpleAdminConnectors {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String getDesensitizationPassword(String password) {
|
||||
String defaultPassword = "******";
|
||||
|
||||
if (Strings.isNullOrEmpty(password) || password.length() < 6) {
|
||||
return defaultPassword;
|
||||
} else {
|
||||
return String.format("%s******", password.substring(0, 3));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user