Heim > Java > javaLernprogramm > Wie protokolliere ich Retrofit 2-Anfrage- und Antworttexte?

Wie protokolliere ich Retrofit 2-Anfrage- und Antworttexte?

Mary-Kate Olsen
Freigeben: 2024-12-19 19:35:10
Original
215 Leute haben es durchsucht

How to Log Retrofit 2 Request and Response Bodies?

Anfragen und Antworten in Retrofit 2 protokollieren

In Retrofit 1 war die Protokollierung des genauen JSON-Codes, der in einer Anfrage gesendet wurde, mithilfe von setLog() und unkompliziert setLogLevel(). Retrofit 2 hat diese Methoden jedoch inzwischen veraltet, sodass sich Entwickler fragen, wie sie den Netzwerkverkehr ordnungsgemäß protokollieren können.

Verwendung von HttpLoggingInterceptor

Die Lösung liegt in HttpLoggingInterceptor, das hinzugefügt werden kann an den OkHttpClient, um sowohl Anfrage als auch Antwort zu protokollieren bodys:

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
Nach dem Login kopieren

Als nächstes erstellen Sie ein Retrofit-Objekt mit dem OkHttpClient mit dem hinzugefügten Interceptor:

OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(...)
        .client(client)
        .addConverterFactory(GsonConverterFactory.create())
        .build();
Nach dem Login kopieren

Wenn Sie die Protokollierungsebene auf BODY festlegen, werden detaillierte Protokolle bereitgestellt, die denen ähneln, die von setLogLevel generiert werden (RestAdapter.LogLevel.FULL) in Retrofit 1.

Auflösung ClassNotFoundException

Wenn Sie auf eine java.lang.ClassNotFoundException stoßen, stellen Sie sicher, dass die Version von logging-interceptor mit Ihrer Retrofit-Version übereinstimmt. In einigen Fällen erfordern ältere Retrofit-Versionen möglicherweise eine frühere Logging-Interceptor-Version.

Das obige ist der detaillierte Inhalt vonWie protokolliere ich Retrofit 2-Anfrage- und Antworttexte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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