Skip to content

Commit 16e95c8

Browse files
feat/base logger implementation based on slf4j
1 parent 3c6fc8a commit 16e95c8

17 files changed

Lines changed: 422 additions & 49 deletions

File tree

.idea/workspace.xml

Lines changed: 26 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.traceo.sdk;
2+
3+
public interface Ilogger {
4+
5+
void log(String message, Object... args);
6+
7+
void debug(String message, Object... args);
8+
9+
void error(String message, Object... args);
10+
11+
void warning(String message, Object... args);
12+
}
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
package com.traceo.sdk;
2+
3+
import com.traceo.sdk.logging.client.TraceoLogLevel;
4+
import com.traceo.sdk.utils.TimestampUtils;
5+
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
import java.util.Objects;
9+
10+
/**
11+
* Traceo representation of single log persisted in Traceo.
12+
*/
13+
public class TraceoLog {
14+
15+
private String message;
16+
17+
private TraceoLogLevel level;
18+
19+
private String className;
20+
21+
private long unix;
22+
23+
private String timestamp;
24+
25+
26+
private Map<String, String> resources = new HashMap<>();
27+
28+
public TraceoLog() {}
29+
30+
public TraceoLog(String message, TraceoLogLevel level, String className) {
31+
this.message = message;
32+
this.level = level;
33+
this.className = className;
34+
this.unix = TimestampUtils.getCurrentUnixTimestamp();
35+
this.timestamp = TimestampUtils.getCurrentTimestamp();
36+
}
37+
38+
public TraceoLog(String message, TraceoLogLevel level, String className, Map<String, String> resources) {
39+
this.message = message;
40+
this.level = level;
41+
this.className = className;
42+
this.resources = resources;
43+
this.unix = TimestampUtils.getCurrentUnixTimestamp();
44+
this.timestamp = TimestampUtils.getCurrentTimestamp();
45+
}
46+
47+
public String getMessage() {
48+
return message;
49+
}
50+
51+
public void setMessage(String message) {
52+
this.message = message;
53+
}
54+
55+
public String getTimestamp() {
56+
return timestamp;
57+
}
58+
59+
public void setTimestamp(String timestamp) {
60+
this.timestamp = timestamp;
61+
}
62+
63+
public TraceoLogLevel getLevel() {
64+
return level;
65+
}
66+
67+
public void setLevel(TraceoLogLevel level) {
68+
this.level = level;
69+
}
70+
71+
public long getUnix() {
72+
return unix;
73+
}
74+
75+
public void setUnix(long unix) {
76+
this.unix = unix;
77+
}
78+
79+
public Map<String, String> getResources() {
80+
return resources;
81+
}
82+
83+
public void setResources(Map<String, String> resources) {
84+
this.resources = resources;
85+
}
86+
87+
public String getClassName() {
88+
return className;
89+
}
90+
91+
public void setClassName(String className) {
92+
this.className = className;
93+
}
94+
95+
@Override
96+
public boolean equals(Object o) {
97+
if (this == o) return true;
98+
if (!(o instanceof TraceoLog)) return false;
99+
TraceoLog traceoLog = (TraceoLog) o;
100+
return getUnix() == traceoLog.getUnix() && Objects.equals(getMessage(), traceoLog.getMessage()) && Objects.equals(getTimestamp(), traceoLog.getTimestamp()) && getLevel() == traceoLog.getLevel() && Objects.equals(getResources(), traceoLog.getResources());
101+
}
102+
103+
@Override
104+
public int hashCode() {
105+
return Objects.hash(getMessage(), getTimestamp(), getLevel(), getUnix(), getResources());
106+
}
107+
}

traceo-sdk-core/src/main/java/com/traceo/sdk/client/CoreClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.traceo.sdk.http.HttpAsyncClient;
66
import com.traceo.sdk.handlers.IncidentHandler;
77
import com.traceo.sdk.handlers.UncaughtExceptionHandler;
8-
import com.traceo.sdk.logging.ClientLogger;
8+
import com.traceo.sdk.logging.internal.SDKLogger;
99

1010
import java.io.Closeable;
1111
import java.io.IOException;
@@ -15,7 +15,7 @@
1515
* @param <T>
1616
*/
1717
public class CoreClient<T extends ClientOptions> implements Closeable {
18-
private final static ClientLogger LOGGER = new ClientLogger(CoreClient.class);
18+
private final static SDKLogger LOGGER = new SDKLogger(CoreClient.class);
1919

2020
/** The main configuration for client. **/
2121
private static volatile ClientOptions configuration;

traceo-sdk-core/src/main/java/com/traceo/sdk/handlers/IncidentHandler.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.traceo.sdk.handlers;
22

33
import com.traceo.sdk.*;
4-
import com.traceo.sdk.logging.ClientLogger;
4+
import com.traceo.sdk.logging.internal.SDKLogger;
55
import com.traceo.sdk.utils.ThrowableUtils;
66

77
import java.net.URL;
@@ -11,7 +11,7 @@
1111
import static com.traceo.sdk.client.CoreClient.getConfigs;
1212

1313
public class IncidentHandler {
14-
private final static ClientLogger LOGGER = new ClientLogger(IncidentHandler.class);
14+
private final static SDKLogger LOGGER = new SDKLogger(IncidentHandler.class);
1515

1616
private final ClientOptions options;
1717

@@ -34,16 +34,13 @@ public void catchException(Throwable throwable, String message, EventCallback<Tr
3434
return;
3535
}
3636

37-
TraceoIncident traceoIncident = processIncident(throwable, message);
37+
TraceoIncident payload = processIncident(throwable, message);
3838
if (callback != null) {
39-
callback.run(traceoIncident);
39+
callback.run(payload);
4040
}
4141

42-
DefaultRequest<TraceoIncident> request = new DefaultRequest<>();
43-
request.setContent(traceoIncident);
44-
request.setEndpoint("/incident");
45-
4642
try {
43+
DefaultRequest<TraceoIncident> request = new DefaultRequest<>("/incident", payload);
4744
options.getHttpClient().execute(request);
4845
} catch (Throwable e) {
4946
LOGGER.error("Failed to send exception.", e);

traceo-sdk-core/src/main/java/com/traceo/sdk/handlers/UncaughtExceptionHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.traceo.sdk.ClientOptions;
44
import com.traceo.sdk.IHandler;
5-
import com.traceo.sdk.logging.ClientLogger;
5+
import com.traceo.sdk.logging.internal.SDKLogger;
66

77
/**
88
* Handler for uncaught exceptions.
@@ -14,7 +14,7 @@
1414
*/
1515
public class UncaughtExceptionHandler implements Thread.UncaughtExceptionHandler, IHandler {
1616

17-
private static final ClientLogger LOGGER = new ClientLogger(UncaughtExceptionHandler.class);
17+
private static final SDKLogger LOGGER = new SDKLogger(UncaughtExceptionHandler.class);
1818

1919
private static IncidentHandler incidentHandler;
2020
private ClientOptions options;

traceo-sdk-core/src/main/java/com/traceo/sdk/http/HttpAsyncClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.traceo.sdk.http;
22

3-
import com.traceo.sdk.logging.ClientLogger;
3+
import com.traceo.sdk.logging.internal.SDKLogger;
44
import org.apache.http.HttpResponse;
55
import org.apache.http.client.methods.HttpRequestBase;
66
import org.apache.http.concurrent.FutureCallback;
@@ -16,7 +16,7 @@
1616
* Http client to perform async http operations.
1717
*/
1818
public class HttpAsyncClient implements IHttpClient<Future<HttpResponse>, FutureCallback<HttpResponse>>, Closeable {
19-
private static final ClientLogger LOGGER = new ClientLogger(HttpAsyncClient.class);
19+
private static final SDKLogger LOGGER = new SDKLogger(HttpAsyncClient.class);
2020

2121
public static final HttpAsyncClientFactory httpClientFactory = new HttpAsyncClientFactory();
2222
private final HttpRequestFactory httpRequestFactory = new HttpRequestFactory();

0 commit comments

Comments
 (0)