Ответ
Для логирования запросов и ответов в Retrofit с OkHttp нужно добавить HttpLoggingInterceptor в клиент OkHttp.
val loggingInterceptor = HttpLoggingInterceptor().apply {
level = HttpLoggingInterceptor.Level.BODY // Уровень логирования (NONE, BASIC, HEADERS, BODY)
}
val okHttpClient = OkHttpClient.Builder()
.addInterceptor(loggingInterceptor)
.build()
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com/")
.client(okHttpClient)
.build()
Нюансы:
Level.BODYлогирует тело запроса, но может содержать конфиденциальные данные.- В релизной сборке лучше отключать (
Level.NONE) или фильтровать логи. - Можно создать кастомный интерсептор для выборочного логирования.