O tom, jak zprovoznit Retrofit jsme si již psali. Dnes se podíváme na to, jak získat více informací o tom, jak Retrofit funguje a jaké posílá a přijímá požadavky.
Začneme nainstalováním závislosti: com.squareup.okhttp3:logging-interceptor
implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(Level.BASIC); OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(logging) .build();
Kde setLevel určuje úroveň logování: NONE, BASIC, HEADERS, BODY
Tím máme základní logování zprovozněno:
10-11 12:46:10.312 15337-15697/cz.vencax.mobilapp.mwmv2 D/OkHttp: --> POST https://vencax.local/mwm/api/login 10-11 12:46:10.312 15337-15697/cz.vencax.mobilapp.mwmv2 D/OkHttp: Content-Type: application/json; charset=UTF-8 10-11 12:46:10.312 15337-15697/cz.vencax.mobilapp.mwmv2 D/OkHttp: Content-Length: 107 10-11 12:46:10.312 15337-15697/cz.vencax.mobilapp.mwmv2 D/OkHttp: Authorization: Basic xxx 10-11 12:46:10.312 15337-15697/cz.vencax.mobilapp.mwmv2 D/OkHttp: {"actualDateTime":"2018-10-11T12:46:10.2580000+02:00","phoneId":"2c3c2a5fe5a7b529","versionNumber":"1.9.0"} 10-11 12:46:10.312 15337-15697/cz.vencax.mobilapp.mwmv2 D/OkHttp: --> END POST (107-byte body)
Pokud chcete logovat svým vlastním způsobem, můžete přetížit konstruktor:
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(new Logger() { @Override public void log(String message) { Log.d(TAG, "message: "); } });