レトロフィット2.0:
更新:@ MarcusPöhls
Retrofit 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の4つのログレベルがあります。各ログレベルについて説明し、その出力について説明します。
詳細については、次のWebサイトをご覧ください:Retrofit 2 —リクエストとレスポンスのログ
古い答え:
Retrofit 2にログインしなくなりました。開発チームはロギング機能を削除しました。正直なところ、ロギング機能はとにかく信頼性が高くありませんでした。Jake Whartonは、ログに記録されたメッセージまたはオブジェクトは想定された値であり、それらが真であることを証明できなかったと明示的に述べました。サーバーに到着する実際のリクエストでは、リクエストの本文などが変更されている可能性があります。
デフォルトでは統合ロギングはありませんが、Javaロガーを利用して、カスタマイズされたOkHttpインターセプター内で使用できます。
Retrofit 2の詳細については、次を参照してください:
Retrofit — Getting Started and Create an Android Client
FULL
が体を与えると思われているがそれはそうではないようです。