改造 2.0:
更新:@by Marcus Pöhls
登录改造 2
Retrofit 2 完全依赖 OkHttp 进行任何网络操作。由于 OkHttp 是 Retrofit 2 的对等依赖项,因此一旦将 Retrofit 2 作为稳定版本发布,您就不需要添加额外的依赖项。
OkHttp 2.6.0 附带一个日志拦截器作为内部依赖项,您可以直接将它用于您的 Retrofit 客户端。Retrofit 2.0.0-beta2 仍然使用 OkHttp 2.5.0。未来的版本会将依赖关系提升到更高的 OkHttp 版本。这就是您需要手动导入日志拦截器的原因。将以下行添加到 build.gradle 文件中的 gradle 导入中,以获取日志记录拦截器依赖项。
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
你也可以访问 Square 的 GitHub 页面来了解这个拦截器
将日志记录添加到 Retrofit 2
在开发应用程序和调试时,最好集成一个日志功能来显示请求和响应信息。由于 Retrofit 2 中默认不再集成日志记录,因此我们需要为 OkHttp 添加一个日志记录拦截器。幸运的是 OkHttp 已经附带了这个拦截器,你只需要为你的 OkHttpClient 激活它。
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
// add your other interceptors …
// add logging as last interceptor
httpClient.addInterceptor(logging); // <-- this is the important line!
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
我们建议将日志记录添加为最后一个拦截器,因为这也会将您使用先前拦截器添加的信息记录到您的请求中。
日志级别
记录太多信息会炸毁你的 Android 监视器,这就是为什么 OkHttp 的日志拦截器有四个日志级别:NONE、BASIC、HEADERS、BODY。我们将引导您浏览每个日志级别并描述它们的输出。
更多信息请访问:Retrofit 2 — 日志请求和响应
旧答案:
不再登录 Retrofit 2。开发团队删除了日志记录功能。老实说,日志功能无论如何都不是那么可靠。Jake Wharton 明确指出,记录的消息或对象是假定值,无法证明它们是真实的。到达服务器的实际请求可能具有更改的请求正文或其他内容。
即使默认情况下没有集成日志记录,您也可以利用任何 Java 记录器并在自定义的 OkHttp 拦截器中使用它。
有关 Retrofit 2 的更多信息,请参阅:
Retrofit — 入门和创建 Android 客户端