Sobes.tech
Junior — Middle

Comment mettre en œuvre la journalisation lors de l'utilisation de Retrofit et OkHttp pour les requêtes réseau?

sobes.tech IA

Réponse de l'IA

Для ведения логов сетевых запросов при использовании 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 — логируется всё, включая тело запроса и ответа

Такой подход помогает отлаживать сетевые взаимодействия и быстро находить ошибки.