mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
avoid print password when logging (#3969)
This commit is contained in:
@@ -2,6 +2,7 @@ package com.alibaba.otter.canal.admin.connector;
|
|||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import org.assertj.core.util.Strings;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
@@ -26,7 +27,8 @@ public class SimpleAdminConnectors {
|
|||||||
connector.connect();
|
connector.connect();
|
||||||
return function.apply(connector);
|
return function.apply(connector);
|
||||||
} catch (Exception e) {
|
} 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());
|
logger.error(e.getMessage());
|
||||||
} finally {
|
} finally {
|
||||||
connector.disconnect();
|
connector.disconnect();
|
||||||
@@ -34,4 +36,14 @@ public class SimpleAdminConnectors {
|
|||||||
|
|
||||||
return null;
|
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