ホームページ >Java >&#&チュートリアル >Retrofit 2 のリクエストボディとレスポンスボディをログに記録するにはどうすればよいですか?
Retrofit 2 でのリクエストとレスポンスのログ記録
Retrofit 1 では、リクエストで送信された正確な JSON のログ記録は、setLog() とsetLogLevel()。ただし、Retrofit 2 ではこれらのメソッドが非推奨になったため、開発者はネットワーク トラフィックを適切にログに記録する方法を疑問に思っています。
HttpLoggingInterceptor の使用
解決策は、追加できる HttpLoggingInterceptor にあります。 OkHttpClient に送信してリクエストとレスポンスの両方をログに記録しますbody:
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
次に、インターセプターを追加した OkHttpClient を使用して Retrofit オブジェクトを作成します:
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(...) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
ロギング レベルを BODY に設定すると、setLogLevel で生成されたものと同様の詳細なログが提供されます。レトロフィットの (RestAdapter.LogLevel.FULL) 1.
ClassNotFoundException の解決
java.lang.ClassNotFoundException が発生した場合は、logging-interceptor のバージョンが Retrofit バージョンと一致していることを確認してください。場合によっては、古い Retrofit バージョンには、以前のロギング インターセプタ バージョンが必要になる場合があります。
以上がRetrofit 2 のリクエストボディとレスポンスボディをログに記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。