java sdk设计原则_java-sdk包日志设计不当?

使用 new AipImageSearch 初始化实例时, 源代码会对 Log4j Logger root 动态增加一个Appender(ConsoleAppender)

protected BaseClient(String appId, String apiKey, String secretKey) {

this.appId = appId;

this.aipKey = apiKey;

this.aipToken = secretKey;

isAuthorized = new AtomicBoolean(false);

isBceKey = new AtomicBoolean(false);

accessToken = null;

expireDate = null;

state = new AuthState();

// init logging

String log4jConf = System.getProperty(AipClientConst.LOG4J_CONF_PROPERTY);

if (log4jConf != null && !log4jConf.equals("")) {

PropertyConfigurator.configure(log4jConf);

}

else {

BasicConfigurator.configure();

}

}

使用者很容易会让程序逻辑进入到 BasicConfigurator.configure(); 这个方法里面。

static public void configure() {

Logger root = Logger.getRootLogger();

root.addAppender(new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN)));

}

很明显, 你们提供的包对使用方项目日志产生了非常大的影响, 你们不应该这样来设计开发。

建议: 你们应该使用日志门面框架来完成日志的记录, 比如slf4j这样的框架, 而不应该在第三方包里面使用具体日志实现框架。非常感谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值