登录Retrofit 2.0

sre*_*mar 5 rest android retrofit

Retrofit的先前版本使用RestAdapter并提供了启用日志的功能。为什么在Retrofit 2.0中删除了该功能?

要启用日志,我必须这样做。

 Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    /** Handles Log */
    retrofit.client().interceptors().add(new LoggingInterceptor());


class LoggingInterceptor implements Interceptor {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
    Request request = chain.request();

    long t1 = System.nanoTime();
    Logger.d(String.format("Sending request %s on %s%n%s",
            request.url(), chain.connection(), request.headers()));

    Response response = chain.proceed(request);

    long t2 = System.nanoTime();
    Logger.d(String.format("Received response for %s in %.1fms%n%s",
            response.request().url(), (t2 - t1) / 1e6d, response.headers()));

   // Logger.d(""+new String(response.body().bytes()));
    return response;
}
Run Code Online (Sandbox Code Playgroud)

这是唯一的解决方案?以前的规定非常方便...

Nik*_*ski 2

Retrofit 的目的是执行类型安全的反/序列化。可能它已经删除了应该由 http 客户端执行的功能,就像日志记录一样。

合理地,http 客户端应该记录收到的响应而不是 Retrofit。你的问题太宽泛了,Square 的人应该补充更多。