Назад к вопросам
Совкомбанк
Junior — Middle
96
Каким образом реализовать ведение логов при использовании Retrofit и OkHttp для сетевых запросов?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для ведения логов сетевых запросов при использовании Retrofit и OkHttp обычно применяют HttpLoggingInterceptor из библиотеки OkHttp. Этот интерсептор позволяет логировать детали запросов и ответов, включая заголовки, тело и статус.
Пример настройки:
val loggingInterceptor = HttpLoggingInterceptor().apply {
level = HttpLoggingInterceptor.Level.BODY // Логируем тело запросов и ответов
}
val okHttpClient = OkHttpClient.Builder()
.addInterceptor(loggingInterceptor)
.build()
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com/")
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.build()
Уровни логирования:
- NONE — без логов
- BASIC — логируются только основные данные (метод, URL, код ответа)
- HEADERS — логируются заголовки
- BODY — логируется всё, включая тело запроса и ответа
Такой подход помогает отлаживать сетевые взаимодействия и быстро находить ошибки.