Beim Versuch, die genauen JSON-Anfragen in Retrofit 2 zu protokollieren, kommt es häufig zu Einschränkungen beim Standardprotokollierungsmechanismus. Das Entfernen der Methoden setLog() und setLogLevel() aus Retrofit 1 hat einige Herausforderungen mit sich gebracht.
Die Lösung liegt in der Verwendung von HttpLoggingInterceptor. So richten Sie es ein:
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();
Diese Lösung stellt Logcat-Nachrichten bereit, die denen ähneln, die von setLogLevel(RestAdapter.LogLevel.FULL) in generiert werden Retrofit 1.
Hinweis: Wenn Sie auf java.lang.ClassNotFoundException stoßen, überprüfen Sie den Kommentarbereich auf mögliche Lösungen für ältere Versionen von Retrofit und Logging-Interceptor.
Das obige ist der detaillierte Inhalt vonWie kann ich in Retrofit 2 exakte JSON-Anfragen protokollieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!