HomeDocumentationAPI Reference
Getting StartedAPI ReferenceDashboardHelp Center
API Reference

Network Logging - Android

Network logs are automatically collected by Luciq when possible. There are many way to configure and manipulate these logs from the code.

##Logging HttpUrlConnection Requests

To log network requests, use LuciqNetworkLog then use the following method at the HttpUrlConnection, requestBody and responseBody. A more detailed example can be found here.

Logging HttpUrlConnection Requests

LuciqNetworkLog networkLog = new LuciqNetworkLog();
networkLog.Log(urlConnection, requestBody, responseBody);
LuciqNetworkLog networkLog = new LuciqNetworkLog()
networkLog.Log(urlConnection, requestBody, responseBody)

##Logging Okhttp Requests In order to log Okhttp requests, first make sure that you compiled Luciq with a network interceptor. By adding the following to your Gradle: implementation 'com.luciq.library:luciq-with-okhttp-interceptor:8+'

An example of the implementation can be found on the right hand side of this section. Logging Okhttp Requests

First, start by compiling Luciq with a network interceptor using this API.

implementation 'com.luciq.library:luciq-with-okhttp-interceptor:11.5.4'

Then to log Oktthp requests, use the LuciqOkhttpInterceptor as shown in the following example.

LuciqOkhttpInterceptor luciqOkhttpInterceptor = new LuciqOkhttpInterceptor();

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

val client = OkHttpClient.Builder()
         .addInterceptor(interceptor)
         .addInterceptor(luciqOkhttpInterceptor)
         .build()

##Modifying Requests If you want to modify a network request before it gets sent to the dashboard, you may follow the steps below.

1- Create a NetworkLogListener object and modify the captured network log as shown below.

NetworkLogListener networkLogListener = new NetworkLogListener() {
    @Override
    public NetworkLogSnapshot onNetworkLogCaptured(NetworkLogSnapshot networkLog) {
        //Modify the received networkLog parameter
        return networkLog;
    }
};
val networkLogListener = NetworkLogListener { networkLog: NetworkLogSnapshot ->
    //Modify the received networkLog parameter
    return@NetworkLogListener networkLog
}

2- Register the created NetworkLogListener to your LuciqOkHttpInterceptor object. This can be done through two different methods:

a. Pass it in the constructor.

val luciqOkhttpInterceptor = LuciqOkhttpInterceptor(networkLogListener)

b. Call registerNetworkLogsListener method on LuciqOkhttpInterceptor object.

val luciqOkhttpInterceptor = LuciqOkhttpInterceptor()
luciqOkhttpInterceptor.registerNetworkLogsListener(networkLogListener)

If you want to remove the network listener, you can do so using this API.

luciqOkhttpInterceptor.removeNetworkLogsListener();
luciqOkhttpInterceptor.removeNetworkLogsListener()