Melog Permintaan dan Respons dalam Retrofit 2
Retrofit 2 memperkenalkan strategi baharu untuk permintaan dan respons pengelogan berbanding dengan pendahulunya. Berikut ialah panduan untuk membantu anda melaksanakan pengelogan yang betul dalam aplikasi Retrofit 2 anda:
Menggunakan HttpLoggingInterceptor
Daripada kaedah setLog() dan setLogLevel() yang sudah tidak digunakan lagi, Retrofit 2 menggunakan HttpLoggingInterceptor untuk pembalakan komprehensif. Untuk menggunakan pemintas ini:
Tambah kebergantungan gradle:
implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
Buat objek Retrofit dengan pemintas dikonfigurasikan:
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();
Output
Penyelesaian di atas menghasilkan mesej logcat yang serupa dengan yang dihasilkan dengan:
setLogLevel(RestAdapter.LogLevel.FULL)
Menyelesaikan masalah
Tahap pengelogan yang ditamatkan: Jika anda menggunakan Java 7 atau 8, anda mungkin melihat amaran yang berkaitan dengan tahap pengelogan yang ditamatkan. Untuk menyelesaikan masalah ini, gunakan sintaks berikut:
interceptor.level(HttpLoggingInterceptor.Level.BODY);
Atas ialah kandungan terperinci Bagaimana untuk Log Retrofit 2 Permintaan dan Respons dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!