in src/main/java/com/aliyun/tea/logging/ClientLogger.java [104:143]
private void performLogging(LogLevel logLevel, boolean isExceptionLogging, String format, Object... args) {
String throwableMessage = "";
if (doesArgsHaveThrowable(args)) {
if (!isExceptionLogging) {
Object throwable = args[args.length - 1];
if (throwable instanceof Throwable) {
throwableMessage = ((Throwable) throwable).getMessage();
}
}
if (!logger.isDebugEnabled()) {
args = removeThrowable(args);
}
}
sanitizeLogMessageInput(format);
switch (logLevel) {
case VERBOSE:
logger.debug(format, args);
break;
case INFORMATIONAL:
logger.info(format, args);
break;
case WARNING:
if (!StringUtils.isEmpty(throwableMessage)) {
format += System.lineSeparator() + throwableMessage;
}
logger.warn(format, args);
break;
case ERROR:
if (!StringUtils.isEmpty(throwableMessage)) {
format += System.lineSeparator() + throwableMessage;
}
logger.error(format, args);
break;
default:
// Don't do anything, this state shouldn't be possible.
break;
}
}