Nachrüstung 2.0 :
UPDATE: @von Marcus Pöhls
Anmelden Nachrüstung 2
Retrofit 2 ist für jeden Netzwerkbetrieb vollständig auf OkHttp angewiesen. Da OkHttp eine Peer-Abhängigkeit von Retrofit 2 ist, müssen Sie keine zusätzliche Abhängigkeit hinzufügen, sobald Retrofit 2 als stabile Version veröffentlicht wird.
OkHttp 2.6.0 wird mit einem Protokollierungs-Interceptor als interne Abhängigkeit geliefert und kann direkt für Ihren Retrofit-Client verwendet werden. Retrofit 2.0.0-beta2 verwendet weiterhin OkHttp 2.5.0. Zukünftige Versionen werden die Abhängigkeit von höheren OkHttp-Versionen erhöhen. Aus diesem Grund müssen Sie den Protokollierungs-Interceptor manuell importieren. Fügen Sie Ihren Gradle-Importen in Ihrer build.gradle-Datei die folgende Zeile hinzu, um die Abhängigkeit des Protokollierungs-Interceptors abzurufen.
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
Sie können auch die GitHub-Seite von Square zu diesem Interceptor besuchen
Hinzufügen der Protokollierung zur Nachrüstung 2
Während der Entwicklung Ihrer App und zu Debugging-Zwecken ist es hilfreich, eine Protokollfunktion zu integrieren, um Anforderungs- und Antwortinformationen anzuzeigen. Da die Protokollierung in Retrofit 2 nicht mehr standardmäßig integriert ist, müssen wir einen Protokollierungs-Interceptor für OkHttp hinzufügen. Glücklicherweise wird OkHttp bereits mit diesem Interceptor ausgeliefert und Sie müssen ihn nur für Ihren OkHttpClient aktivieren.
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
// add your other interceptors …
// add logging as last interceptor
httpClient.addInterceptor(logging); // <-- this is the important line!
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
Wir empfehlen, die Protokollierung als letzten Interceptor hinzuzufügen, da hierdurch auch die Informationen protokolliert werden, die Sie mit früheren Interceptors zu Ihrer Anfrage hinzugefügt haben.
Protokollebenen
Wenn Sie zu viele Informationen protokollieren, wird Ihr Android-Monitor in die Luft gesprengt. Aus diesem Grund verfügt der Protokollierungs-Interceptor von OkHttp über vier Protokollierungsstufen: NONE, BASIC, HEADERS, BODY. Wir führen Sie durch die einzelnen Protokollebenen und beschreiben deren Ausgabe.
Weitere Informationen finden Sie unter: Nachrüstung 2 - Protokollanfragen und -antworten
ALTE ANTWORT:
Keine Anmeldung mehr in Retrofit 2. Das Entwicklungsteam hat die Protokollierungsfunktion entfernt. Um ehrlich zu sein, war die Protokollierungsfunktion sowieso nicht so zuverlässig. Jake Wharton erklärte ausdrücklich, dass die protokollierten Nachrichten oder Objekte die angenommenen Werte sind und nicht als wahr nachgewiesen werden konnten. Die tatsächliche Anforderung, die am Server eintrifft, hat möglicherweise einen geänderten Anforderungshauptteil oder etwas anderes.
Obwohl standardmäßig keine integrierte Protokollierung vorhanden ist, können Sie jeden Java-Protokollierer nutzen und in einem angepassten OkHttp-Interceptor verwenden.
Weitere Informationen zu Retrofit 2 finden Sie unter:
Retrofit - Erste Schritte und Erstellen eines Android-Clients
FULL
das den Körper geben soll, aber es scheint nicht.