SDK logging — How to implement REST API logging in the Java SDK Demo Example?
The Kotlin part of the Java SDK uses the Fuel library for making HTTP calls. We have been able to make logging available by invoking following Fuel configuration prior to any call to the SDK. Note this may be subject to change in the future, when the SDK is planned to be refactored.
FuelManager
.Companion
.getInstance()
.addRequestInterceptor(LogRequestAsCurlInterceptor.INSTANCE);
System.out.println("Fuel debug logging enabled");
Logs:
Fuel debug logging enabled
curl -i -H "accept:application/xml" -H "x-access-token:???" https://api-mq-test.integration.oddin.dev/v1/users/whoami
2025-12-23 00:32:04,076 [INFO] - com.oddin.oddsfeedsdk.api.WhoAmIManagerImpl:64 - Client id: 1
2025-12-23 00:32:04,082 [INFO] - com.oddin.oddsfeedsdk.TaskManagerImpl:71 - starting periodic task LocalizedStaticDataRefresh
2025-12-23 00:32:04,084 [INFO] - com.oddin.oddsfeedsdk.TaskManagerImpl:71 - starting periodic task LocalizedStaticDataRefresh
curl -i -H "accept:application/xml" -H "x-access-token:???" https://api-mq-test.integration.oddin.dev/v1/descriptions/en/markets
Diff file for the SDK example:
diff --git a/examples/build.gradle b/examples/build.gradle
index 89ce07a..06eb313 100644
--- a/examples/build.gradle
+++ b/examples/build.gradle
@@ -33,6 +33,10 @@ repositories {
dependencies {
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0"
+
+ implementation "com.github.kittinunf.fuel:fuel:2.3.1"
+
implementation group: "com.oddin.oddsfeed", name: 'odds-feed', version: version
diff --git a/examples/src/main/java/com/oddin/oddsfeed/examples/Main.java b/examples/src/main/java/com/oddin/oddsfeed/examples/Main.java
index 1c32c2c..31bf032 100644
--- a/examples/src/main/java/com/oddin/oddsfeed/examples/Main.java
+++ b/examples/src/main/java/com/oddin/oddsfeed/examples/Main.java
@@ -1,6 +1,9 @@
package com.oddin.oddsfeed.examples;
+import com.github.kittinunf.fuel.core.FuelManager;
+import com.github.kittinunf.fuel.core.interceptors.LogRequestAsCurlInterceptor;
+import com.github.kittinunf.fuel.core.interceptors.LogResponseInterceptor;
import com.oddin.oddsfeedsdk.OddsFeed;
import com.oddin.oddsfeedsdk.OddsFeedSession;
import com.oddin.oddsfeedsdk.ProducerManager;
@@ -29,6 +32,12 @@ import java.util.Objects;
public class Main {
public static void main(String[] args) {
+ FuelManager
+ .Companion
+ .getInstance()
+ .addRequestInterceptor(LogRequestAsCurlInterceptor.INSTANCE);
+ System.out.println("Fuel debug logging enabled");
+
String token = System.getenv("ODDIN_GG_ODDS_FEED_TOKEN");
if (token == null) {
// @TODO Set your access token here or fill environment property ODDIN_GG_ODDS_FEED_TOKEN