Retrofit 2의 요청 및 응답 로깅
Retrofit 1에서는 setLog() 및 setLogLevel(). 그러나 Retrofit 2는 이후 이러한 방법을 더 이상 사용하지 않기 때문에 개발자는 네트워크 트래픽을 올바르게 기록하는 방법을 궁금해하게 되었습니다.
HttpLoggingInterceptor 사용
해결책은 추가할 수 있는 HttpLoggingInterceptor에 있습니다. 요청과 응답을 모두 기록하기 위해 OkHttpClient에 bodies:
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
다음으로 인터셉터가 추가된 OkHttpClient를 사용하여 Retrofit 객체를 생성합니다.
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(...) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
로깅 수준을 BODY로 설정하면 setLogLevel에서 생성된 것과 유사한 자세한 로그가 제공됩니다. (RestAdapter.LogLevel.FULL) 개조 1.
해결 중 ClassNotFoundException
java.lang.ClassNotFoundException이 발생하는 경우 로깅 인터셉터 버전이 Retrofit 버전과 일치하는지 확인하세요. 경우에 따라 이전 Retrofit 버전에는 이전 로깅 인터셉터 버전이 필요할 수 있습니다.
위 내용은 Retrofit 2 요청 및 응답 본문을 기록하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!