public class InfoFeignLogger extends Logger {
private final org.slf4j.Logger logger;
public InfoFeignLogger() {
this(Logger.class);
}
public InfoFeignLogger(Class<?> clazz) {
this(LoggerFactory.getLogger(clazz));
}
public InfoFeignLogger(String name) {
this(LoggerFactory.getLogger(name));
}
InfoFeignLogger(org.slf4j.Logger logger) {
this.logger = logger;
}
protected void logRequest(String configKey, Level logLevel, Request request) {
if (this.logger.isInfoEnabled()) {
super.logRequest(configKey, logLevel, request);
}
}
protected Response logAndRebufferResponse(String configKey, Level logLevel, Response response, long elapsedTime) throws IOException {
return this.logger.isInfoEnabled() ? super.logAndRebufferResponse(configKey, logLevel, response, elapsedTime) : response;
}
protected void log(String configKey, String format, Object... args) {
if (this.logger.isInfoEnabled()) {
this.logger.info(String.format(methodTag(configKey) + format, args));
}
}
}
public class InfoFeignLoggerFactory implements FeignLoggerFactory {
@Override
public Logger create(Class<?> type) {
return new InfoFeignLogger(JdLogFactory.getLogger(type));
}
}
@Configuration
public class FeignConfig {
@Bean
public Logger.Level feignLoggerLevel() {
return Logger.Level.BASIC;
}
@Bean
public FeignLoggerFactory infoFeignLoggerFactory() {
return new InfoFeignLoggerFactory();
}
}