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()