Skip to content

Commit 2d7e766

Browse files
authored
feat: add SLF4J library (#11)
1 parent b047f47 commit 2d7e766

File tree

7 files changed

+67
-57
lines changed

7 files changed

+67
-57
lines changed

examples/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,28 @@
1111

1212
<artifactId>kraken-api-examples</artifactId>
1313

14+
<properties>
15+
<log4j.version>2.23.0</log4j.version>
16+
</properties>
17+
1418
<dependencies>
1519
<dependency>
1620
<groupId>dev.andstuff.kraken</groupId>
1721
<artifactId>kraken-api</artifactId>
1822
<version>${project.version}</version>
1923
</dependency>
24+
<dependency>
25+
<groupId>org.apache.logging.log4j</groupId>
26+
<artifactId>log4j-core</artifactId>
27+
<version>${log4j.version}</version>
28+
<scope>runtime</scope>
29+
</dependency>
30+
<dependency>
31+
<groupId>org.apache.logging.log4j</groupId>
32+
<artifactId>log4j-slf4j2-impl</artifactId>
33+
<version>${log4j.version}</version>
34+
<scope>runtime</scope>
35+
</dependency>
2036
</dependencies>
2137

2238
<build>

examples/src/main/java/dev/andstuff/kraken/example/Examples.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,48 +13,48 @@
1313
import dev.andstuff.kraken.api.model.endpoint.market.response.AssetPair;
1414
import dev.andstuff.kraken.api.model.endpoint.market.response.ServerTime;
1515
import dev.andstuff.kraken.api.model.endpoint.market.response.SystemStatus;
16+
import lombok.extern.slf4j.Slf4j;
1617

18+
@Slf4j
1719
public class Examples {
1820

1921
public static void main(String[] args) {
2022

21-
2223
/* Public endpoint examples */
2324

2425
KrakenAPI publicAPI = new KrakenAPI();
2526

2627
ServerTime serverTime = publicAPI.serverTime();
27-
System.out.println(serverTime);
28+
log.info("{}", serverTime);
2829

2930
SystemStatus systemStatus = publicAPI.systemStatus();
30-
System.out.println(systemStatus);
31+
log.info("{}", systemStatus);
3132

3233
Map<String, AssetInfo> assets1 = publicAPI.assetInfo(List.of("BTC", "ETH"));
33-
System.out.println(assets1);
34+
log.info("{}", assets1);
3435

3536
Map<String, AssetInfo> assets2 = publicAPI.assetInfo(List.of("DOT", "ADA"), "currency");
36-
System.out.println(assets2);
37+
log.info("{}", assets2);
3738

3839
Map<String, AssetPair> pairs1 = publicAPI.assetPairs(List.of("ETH/BTC", "ETH/USD"));
39-
System.out.println(pairs1);
40+
log.info("{}", pairs1);
4041

4142
Map<String, AssetPair> pairs2 = publicAPI.assetPairs(List.of("DOT/USD", "ADA/USD"), AssetPair.Info.MARGIN);
42-
System.out.println(pairs2);
43+
log.info("{}", pairs2);
4344

4445
JsonNode ticker = publicAPI.query(KrakenAPI.Public.TICKER, Map.of("pair", "XBTEUR"));
45-
System.out.println(ticker);
46+
log.info("{}", ticker);
4647

4748
JsonNode trades = publicAPI.queryPublic("Trades", Map.of("pair", "XBTUSD", "count", "1"));
48-
System.out.println(trades);
49+
log.info("{}", trades);
4950

5051
/* Private endpoint example */
5152

5253
Properties apiKeys = readFromFile("/api-keys.properties");
53-
5454
KrakenAPI api = new KrakenAPI(apiKeys.getProperty("key"), apiKeys.getProperty("secret"));
5555

5656
JsonNode balance = api.query(KrakenAPI.Private.BALANCE);
57-
System.out.println(balance);
57+
log.info("{}", balance);
5858

5959
JsonNode order = api.query(KrakenAPI.Private.ADD_ORDER, Map.of(
6060
"ordertype", "limit",
@@ -64,6 +64,6 @@ public static void main(String[] args) {
6464
"price", "1000",
6565
"oflags", "post,fciq",
6666
"validate", "true"));
67-
System.out.println(order);
67+
log.info("{}", order);
6868
}
6969
}

examples/src/main/java/dev/andstuff/kraken/example/JacksonTest.java

Lines changed: 0 additions & 34 deletions
This file was deleted.

examples/src/main/java/dev/andstuff/kraken/example/TotalRewards.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@
44
import static java.util.Arrays.asList;
55
import static java.util.Comparator.comparing;
66
import static java.util.stream.Collectors.groupingBy;
7-
import static java.util.stream.Collectors.toList;
87

98
import java.io.FileOutputStream;
109
import java.io.IOException;
1110
import java.io.PrintStream;
1211
import java.math.BigDecimal;
13-
import java.security.InvalidKeyException;
14-
import java.security.NoSuchAlgorithmException;
1512
import java.time.Instant;
1613
import java.util.HashMap;
1714
import java.util.Iterator;
@@ -28,15 +25,15 @@
2825
*/
2926
public class TotalRewards {
3027

31-
public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException, InterruptedException {
28+
public static void main(String[] args) throws IOException, InterruptedException {
3229

3330
Properties apiKeys = readFromFile("/api-keys.properties");
3431
KrakenAPI api = new KrakenAPI(apiKeys.getProperty("key"), apiKeys.getProperty("secret"));
3532

36-
Map<String, String> params = Map.of(
37-
"type", "staking",
38-
"without_count", "true",
39-
"ofs", "0");
33+
Map<String, String> params = new HashMap<>();
34+
params.put("type", "staking");
35+
params.put("without_count", "true");
36+
params.put("ofs", "0");
4037

4138
Map<String, JsonNode> rewards = new HashMap<>();
4239

@@ -76,7 +73,7 @@ public static void main(String[] args) throws IOException, NoSuchAlgorithmExcept
7673
List<JsonNode> assetRewards = groupedRewards.get(asset).stream()
7774
.filter(e -> !asList("migration", "spottostaking").contains(e.findValue("subtype").textValue()))
7875
.sorted(comparing(e -> e.get("time").asInt()))
79-
.collect(toList());
76+
.toList();
8077

8178
BigDecimal assetTotalRewardAmount = assetRewards.stream()
8279
.map(e -> new BigDecimal(e.findValue("amount").textValue())
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<Configuration status="info">
3+
<Properties>
4+
<Property name="defaultPattern">[%d{ISO8601}] [%-20.20c{1.}] [%-7.7t] [%-5.5p] %m%n</Property>
5+
</Properties>
6+
7+
<Appenders>
8+
<Console name="Console" target="SYSTEM_OUT">
9+
<PatternLayout pattern="${defaultPattern}"/>
10+
</Console>
11+
</Appenders>
12+
13+
<Loggers>
14+
<Root level="info">
15+
<AppenderRef ref="Console"/>
16+
</Root>
17+
</Loggers>
18+
</Configuration>

library/src/main/java/dev/andstuff/kraken/api/rest/DefaultKrakenRestRequester.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121
import dev.andstuff.kraken.api.model.endpoint.priv.PostParams;
2222
import dev.andstuff.kraken.api.model.endpoint.priv.PrivateEndpoint;
2323
import dev.andstuff.kraken.api.model.endpoint.pub.PublicEndpoint;
24+
import lombok.extern.slf4j.Slf4j;
2425

2526
/**
2627
* {@link KrakenRestRequester} implementation using {@link HttpsURLConnection}.
2728
*/
29+
@Slf4j
2830
public class DefaultKrakenRestRequester implements KrakenRestRequester {
2931

3032
private static final ObjectMapper OBJECT_MAPPER;
@@ -51,7 +53,7 @@ public DefaultKrakenRestRequester(String key, String secret) {
5153
public <T> T execute(PublicEndpoint<T> endpoint) {
5254
try {
5355
HttpsURLConnection connection = createHttpsConnection(endpoint);
54-
System.out.printf("Fetching %s%n", connection.getURL());
56+
log.info("Fetching {}", connection.getURL());
5557
return parseResponse(connection.getInputStream(), endpoint);
5658
}
5759
catch (IOException e) {
@@ -72,7 +74,7 @@ public <T> T execute(PrivateEndpoint<T> endpoint) {
7274

7375
try {
7476
HttpsURLConnection connection = createHttpsConnection(endpoint);
75-
System.out.printf("Fetching %s%n", connection.getURL());
77+
log.info("Fetching {}", connection.getURL());
7678
connection.addRequestProperty("API-Key", credentials.getKey());
7779
connection.addRequestProperty("API-Sign", credentials.sign(connection.getURL(), nonce, postData));
7880
connection.setDoOutput(true);

pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@
5252
<!-- Third-party dependencies -->
5353
<jackson.version>2.16.1</jackson.version>
5454
<lombok.version>1.18.30</lombok.version>
55+
<slf4j.version>2.0.12</slf4j.version>
56+
<log4j.version>2.23.0</log4j.version>
5557

5658
<!-- Maven plugins -->
5759
<maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version>
@@ -81,6 +83,11 @@
8183
<version>${lombok.version}</version>
8284
<scope>provided</scope>
8385
</dependency>
86+
<dependency>
87+
<groupId>org.slf4j</groupId>
88+
<artifactId>slf4j-api</artifactId>
89+
<version>${slf4j.version}</version>
90+
</dependency>
8491
</dependencies>
8592
</dependencyManagement>
8693

@@ -102,6 +109,10 @@
102109
<groupId>org.projectlombok</groupId>
103110
<artifactId>lombok</artifactId>
104111
</dependency>
112+
<dependency>
113+
<groupId>org.slf4j</groupId>
114+
<artifactId>slf4j-api</artifactId>
115+
</dependency>
105116
</dependencies>
106117

107118
<build>

0 commit comments

Comments
 (0)