Heim > Java > javaLernprogramm > Wie protokolliere ich Retrofit 2-Anfragen und -Antworten effektiv?

Wie protokolliere ich Retrofit 2-Anfragen und -Antworten effektiv?

Patricia Arquette
Freigeben: 2024-12-15 09:58:10
Original
895 Leute haben es durchsucht

How to Log Retrofit 2 Requests and Responses Effectively?

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:

  1. Fügen Sie die Gradle-Abhängigkeit hinzu:

    implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
    Nach dem Login kopieren
  2. 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();
    Nach dem Login kopieren

Ausgabe

Die obige Lösung führt zu Logcat-Nachrichten, die den generierten ähneln mit:

setLogLevel(RestAdapter.LogLevel.FULL)
Nach dem Login kopieren

Fehlerbehebung

  • java.lang.ClassNotFoundException: Wenn diese Ausnahme auftritt, sollten Sie die Verwendung einer älteren Version in Betracht ziehen der Logging-Interceptor-Bibliothek. Weitere Informationen finden Sie im Kommentarbereich.
  • 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);
    Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage