Anfragen und Antworten in Retrofit 2 protokollieren
Retrofit 2 führt im Vergleich zum Vorgänger neue Strategien für die Protokollierung von Anfragen und Antworten ein. Hier ist eine Anleitung, die Ihnen bei der Implementierung der ordnungsgemäßen Protokollierung in Ihren Retrofit 2-Anwendungen hilft:
Verwenden von HttpLoggingInterceptor
Anstelle der jetzt veralteten Methoden setLog() und setLogLevel() Retrofit 2 verwendet HttpLoggingInterceptor für eine umfassende Protokollierung. So verwenden Sie diesen Interceptor:
Fügen Sie die Gradle-Abhängigkeit hinzu:
implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
Erstellen Sie ein Retrofit-Objekt mit dem Interceptor konfiguriert:
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();
Ausgabe
Die obige Lösung führt zu Logcat-Nachrichten, die den generierten ähneln mit:
setLogLevel(RestAdapter.LogLevel.FULL)
Fehlerbehebung
Veraltete Protokollierungsstufen: Wenn Sie Java 7 oder 8 verwenden, werden möglicherweise Warnungen zu veralteten Protokollierungsstufen angezeigt. Um dieses Problem zu beheben, verwenden Sie die folgende Syntax:
interceptor.level(HttpLoggingInterceptor.Level.BODY);
Das obige ist der detaillierte Inhalt vonWie protokolliere ich Retrofit 2-Anfragen und -Antworten effektiv?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!