在 Retrofit 2 中記錄請求和回應
與前身相比,Retrofit 2 引入了記錄請求和回應的新策略。以下指南可協助您在Retrofit 2 應用程式中實現正確的日誌記錄:
使用HttpLoggingInterceptor
而不是現已棄用的setLog() 和setLogLevel( ) 方法, Retrofit 2 使用HttpLoggingInterceptor 進行全面日誌記錄。使用此攔截器:
新增 gradle 依賴:
implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
使用攔截器建立 Retrofit物件配置:
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();
輸出
上述解產生類似產生的 logcat訊息with:
setLogLevel(RestAdapter.LogLevel.FULL)
故障排除
已棄用的日誌記錄等級:如果您使用 Java 7 或 8,您可能會看到與已棄用的日誌記錄等級相關的警告。要解決此問題,請使用以下語法:
interceptor.level(HttpLoggingInterceptor.Level.BODY);
以上是如何有效記錄 Retrofit 2 請求和回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!