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
HttpUrlConnection RequestsTo 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
Okhttp RequestsIn 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.
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()
