Retrofit 2 で正確な JSON リクエストをログに記録しようとすると、デフォルトのログ メカニズムの制限に遭遇するのが一般的です。 Retrofit 1 から setLog() メソッドと setLogLevel() メソッドが削除されたことで、いくつかの課題が生じました。
解決策は、HttpLoggingInterceptor を利用することにあります。設定するには:
implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(API_URL) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
このソリューションは、によって生成されるものと同様の logcat メッセージを提供します。 Retrofit 1.
注 の setLogLevel(RestAdapter.LogLevel.FULL): java.lang.ClassNotFoundException が発生した場合は、古いバージョンの Retrofit とロギングに関連する潜在的な解決策についてコメント セクションを確認してください。インターセプター。
以上がRetrofit 2 で正確な JSON リクエストをログに記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。