Sobes.tech
Junior — Middle

Cum se implementează înregistrarea jurnalelor atunci când se utilizează Retrofit și OkHttp pentru solicitări de rețea?

sobes.tech AI

Răspuns de la 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 — логируется всё, включая тело запроса и ответа

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