Apabila cuba log permintaan JSON yang tepat dalam Retrofit 2, adalah perkara biasa untuk menghadapi pengehadan dengan mekanisme pengelogan lalai. Pengalihan keluar kaedah setLog() dan setLogLevel() daripada Retrofit 1 telah memperkenalkan beberapa cabaran.
Penyelesaian terletak pada penggunaan HttpLoggingInterceptor. Untuk menyediakannya:
implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(API_URL) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
Penyelesaian ini menyediakan mesej logcat yang serupa dengan yang dihasilkan oleh setLogLevel(RestAdapter.LogLevel.FULL) dalam Retrofit 1.
Nota: Jika anda menemui java.lang.ClassNotFoundException, semak bahagian komen untuk kemungkinan penyelesaian yang melibatkan versi lama Retrofit dan pengelogan- pemintas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Log Permintaan JSON Tepat dalam Retrofit 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!