개조 2.0 :
업데이트 : @by Marcus Pöhls
개조 2에 로그인
Retrofit 2는 모든 네트워크 운영에 대해 OkHttp에 전적으로 의존합니다. OkHttp는 Retrofit 2의 피어 종속성이므로 Retrofit 2가 안정적인 릴리스로 릴리스되면 추가 종속성을 추가 할 필요가 없습니다.
OkHttp 2.6.0은 내부 종속성으로 로깅 인터셉터와 함께 제공되며 Retrofit 클라이언트에 직접 사용할 수 있습니다. Retrofit 2.0.0-beta2는 여전히 OkHttp 2.5.0을 사용합니다. 향후 릴리스는 더 높은 OkHttp 버전에 대한 종속성을 높입니다. 이것이 로깅 인터셉터를 수동으로 가져와야하는 이유입니다. build.gradle 파일 내의 gradle 가져 오기에 다음 행을 추가하여 로깅 인터셉터 종속성을 가져옵니다.
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
이 인터셉터에 대한 Square의 GitHub 페이지를 방문 할 수도 있습니다.
Retrofit 2에 로깅 추가
앱을 개발하고 디버깅 목적으로 요청 및 응답 정보를 표시하기 위해 통합 된 로그 기능을 사용하는 것이 좋습니다. Retrofit 2에서는 로깅이 더 이상 기본적으로 통합되지 않으므로 OkHttp에 대한 로깅 인터셉터를 추가해야합니다. 다행히 OkHttp는 이미이 인터셉터와 함께 제공되며 OkHttpClient에 대해서만 활성화하면됩니다.
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
// add your other interceptors …
// add logging as last interceptor
httpClient.addInterceptor(logging); // <-- this is the important line!
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
로깅을 마지막 인터셉터로 추가하는 것이 좋습니다. 이전 인터셉터로 추가 한 정보도 요청에 기록하기 때문입니다.
로그 수준
너무 많은 정보를 로깅하면 Android 모니터가 폭발하므로 OkHttp의 로깅 인터셉터에는 NONE, BASIC, HEADERS, BODY의 네 가지 로그 수준이 있습니다. 각 로그 수준을 안내하고 출력을 설명합니다.
추가 정보는 다음을 참조하십시오. Retrofit 2 — 요청 및 응답 기록
이전 답변 :
Retrofit 2에 더 이상 로그인하지 않습니다. 개발 팀은 로깅 기능을 제거했습니다. 솔직히 말해서 로깅 기능은 그다지 신뢰할 수 없었습니다. Jake Wharton은 기록 된 메시지 또는 객체가 가정 된 값이며 사실임을 증명할 수 없다고 명시 적으로 언급했습니다. 서버에 도착하는 실제 요청에는 변경된 요청 본문 또는 다른 것이있을 수 있습니다.
기본적으로 통합 로깅이 없지만 모든 Java 로거를 활용하여 사용자 정의 된 OkHttp 인터셉터 내에서 사용할 수 있습니다.
Retrofit 2에 대한 자세한 내용은 다음을 참조하십시오.
Retrofit — 시작하기 및 Android 클라이언트 만들기
FULL
그것이 몸을 주어야 한다고 말하고 있지만 그렇지 않은 것 같습니다.