はじめに
Retrofit2でデバッグ用にログ出力したかったので、使い方を自分用にメモ
参照元
実装
build.gradleに依存関係を追加
build.gradle
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation 'com.squareup.okhttp3:logging-interceptor:3.8.0'
loggingをRetrofitに設定
Retrofitのインスタンス作成時にクライアントとして、loggerを設定したhttpClientを渡す
val logger = HttpLoggingInterceptor()
logger.level = HttpLoggingInterceptor.Level.BODY
val httpClient = OkHttpClient.Builder()
httpClient.addInterceptor(logger)
val retrofit = Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(gsonFactory)
.client(httpClient.build())
.build()
ログレベル
logger.levelで渡しているlevelには4種あり、出力の詳細さが変わる
NONE
ログを出力しない
BASIC
リクエストラインとレスポンスラインのみを出力
HEADER
BASICのログに加えて
リクエストヘッダとレスポンスヘッダが出力される
BODY
HEADERのログに加えて
リクエストボディとレスポンスボディが出力される