Skip to content

Commit 3679f70

Browse files
committed
jul to slf4j
Signed-off-by: Kavindu Dodanduwa <[email protected]>
1 parent 2b8f978 commit 3679f70

File tree

9 files changed

+73
-79
lines changed

9 files changed

+73
-79
lines changed

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/InProcessResolver.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package dev.openfeature.contrib.providers.flagd.resolver.process;
22

3-
import static dev.openfeature.contrib.providers.flagd.resolver.process.model.FeatureFlag.EMPTY_TARGETING_STRING;
4-
5-
import java.util.concurrent.atomic.AtomicBoolean;
6-
import java.util.function.Consumer;
7-
import java.util.logging.Level;
8-
93
import dev.openfeature.contrib.providers.flagd.FlagdOptions;
104
import dev.openfeature.contrib.providers.flagd.resolver.Resolver;
115
import dev.openfeature.contrib.providers.flagd.resolver.common.Util;
@@ -24,13 +18,18 @@
2418
import dev.openfeature.sdk.exceptions.FlagNotFoundError;
2519
import dev.openfeature.sdk.exceptions.ParseError;
2620
import dev.openfeature.sdk.exceptions.TypeMismatchError;
27-
import lombok.extern.java.Log;
21+
import lombok.extern.slf4j.Slf4j;
22+
23+
import java.util.concurrent.atomic.AtomicBoolean;
24+
import java.util.function.Consumer;
25+
26+
import static dev.openfeature.contrib.providers.flagd.resolver.process.model.FeatureFlag.EMPTY_TARGETING_STRING;
2827

2928
/**
3029
* flagd in-process resolver. Resolves feature flags in-process. Flags are retrieved from {@link Storage}, where the
3130
* {@link Storage} maintain flag configurations obtained from known source.
3231
*/
33-
@Log
32+
@Slf4j
3433
public class InProcessResolver implements Resolver {
3534
private final Storage flagStore;
3635
private final Consumer<ProviderState> stateConsumer;
@@ -70,11 +69,11 @@ public void init() throws Exception {
7069
case STALE:
7170
// todo set stale state
7271
default:
73-
log.log(Level.INFO, String.format("Storage emitted unhandled status: %s", storageState));
72+
log.info(String.format("Storage emitted unhandled status: %s", storageState));
7473
}
7574
}
7675
} catch (InterruptedException e) {
77-
log.log(Level.WARNING, "Storage state watcher interrupted", e);
76+
log.warn("Storage state watcher interrupted", e);
7877
}
7978
});
8079
stateWatcher.setDaemon(true);
@@ -86,8 +85,9 @@ public void init() throws Exception {
8685

8786
/**
8887
* Shutdown in-process resolver.
88+
*
8989
* @throws InterruptedException if stream can't be closed within deadline.
90-
*/
90+
*/
9191
public void shutdown() throws InterruptedException {
9292
flagStore.shutdown();
9393
this.connected.set(false);
@@ -174,7 +174,7 @@ private <T> ProviderEvaluation<T> resolve(Class<T> type, String key,
174174
}
175175
} catch (TargetingRuleException e) {
176176
String message = String.format("error evaluating targeting rule for flag %s", key);
177-
log.log(Level.FINE, message, e);
177+
log.debug(message, e);
178178
throw new ParseError(message);
179179
}
180180
}
@@ -183,13 +183,13 @@ private <T> ProviderEvaluation<T> resolve(Class<T> type, String key,
183183
Object value = flag.getVariants().get(resolvedVariant);
184184
if (value == null) {
185185
String message = String.format("variant %s not found in flag with key %s", resolvedVariant, key);
186-
log.log(Level.FINE, message);
186+
log.debug(message);
187187
throw new TypeMismatchError(message);
188188
}
189189

190190
if (!type.isAssignableFrom(value.getClass()) || !(resolvedVariant instanceof String)) {
191191
String message = "returning default variant for flagKey: %s, type not valid";
192-
log.log(Level.FINE, String.format(message, key));
192+
log.debug(String.format(message, key));
193193
throw new TypeMismatchError(message);
194194
}
195195

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/model/FlagParser.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.networknt.schema.ValidationMessage;
1010
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1111
import lombok.extern.java.Log;
12+
import lombok.extern.slf4j.Slf4j;
1213

1314
import java.io.ByteArrayOutputStream;
1415
import java.io.IOException;
@@ -23,7 +24,7 @@
2324
/**
2425
* flagd feature flag configuration parser.
2526
*/
26-
@Log
27+
@Slf4j
2728
@SuppressFBWarnings(value = {"EI_EXPOSE_REP"},
2829
justification = "Feature flag comes as a Json configuration, hence they must be exposed")
2930
public class FlagParser {
@@ -42,7 +43,7 @@ public class FlagParser {
4243
static {
4344
try (InputStream schema = FlagParser.class.getClassLoader().getResourceAsStream(SCHEMA_RESOURCE)) {
4445
if (schema == null) {
45-
log.log(Level.WARNING, String.format("Resource %s not found", SCHEMA_RESOURCE));
46+
log.warn(String.format("Resource %s not found", SCHEMA_RESOURCE));
4647
} else {
4748
final ByteArrayOutputStream result = new ByteArrayOutputStream();
4849
byte[] buffer = new byte[512];
@@ -55,8 +56,7 @@ public class FlagParser {
5556
}
5657
} catch (Throwable e) {
5758
// log only, do not throw
58-
log.log(Level.WARNING,
59-
String.format("Error loading resource %s, schema validation will be skipped", SCHEMA_RESOURCE), e);
59+
log.warn(String.format("Error loading resource %s, schema validation will be skipped", SCHEMA_RESOURCE), e);
6060
}
6161
}
6262

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/storage/FlagStore.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import dev.openfeature.contrib.providers.flagd.resolver.process.storage.connector.Connector;
66
import dev.openfeature.contrib.providers.flagd.resolver.process.storage.connector.StreamPayload;
77
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
8-
import lombok.extern.java.Log;
8+
import lombok.extern.slf4j.Slf4j;
99

1010
import java.util.HashMap;
1111
import java.util.Map;
@@ -15,12 +15,11 @@
1515
import java.util.concurrent.locks.ReentrantReadWriteLock;
1616
import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
1717
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
18-
import java.util.logging.Level;
1918

2019
/**
2120
* Feature flag storage.
2221
*/
23-
@Log
22+
@Slf4j
2423
@SuppressFBWarnings(value = {"EI_EXPOSE_REP"},
2524
justification = "Feature flag comes as a Json configuration, hence they must be exposed")
2625
public class FlagStore implements Storage {
@@ -47,7 +46,7 @@ public void init() {
4746
try {
4847
streamerListener(connector);
4948
} catch (InterruptedException e) {
50-
log.log(Level.WARNING, "connection listener failed", e);
49+
log.warn("connection listener failed", e);
5150
}
5251
});
5352
streamer.setDaemon(true);
@@ -56,6 +55,7 @@ public void init() {
5655

5756
/**
5857
* Shutdown storage layer.
58+
*
5959
* @throws InterruptedException if stream can't be closed within deadline.
6060
*/
6161
public void shutdown() throws InterruptedException {
@@ -102,27 +102,27 @@ private void streamerListener(final Connector connector) throws InterruptedExcep
102102
writeLock.unlock();
103103
}
104104
if (!stateBlockingQueue.offer(StorageState.OK)) {
105-
log.log(Level.WARNING, "Failed to convey OK satus, queue is full");
105+
log.warn("Failed to convey OK satus, queue is full");
106106
}
107107
} catch (Throwable e) {
108108
// catch all exceptions and avoid stream listener interruptions
109-
log.log(Level.WARNING, "Invalid flag sync payload from connector", e);
109+
log.warn("Invalid flag sync payload from connector", e);
110110
if (!stateBlockingQueue.offer(StorageState.STALE)) {
111-
log.log(Level.WARNING, "Failed to convey STALE satus, queue is full");
111+
log.warn("Failed to convey STALE satus, queue is full");
112112
}
113113
}
114114
break;
115115
case ERROR:
116116
if (!stateBlockingQueue.offer(StorageState.ERROR)) {
117-
log.log(Level.WARNING, "Failed to convey ERROR satus, queue is full");
117+
log.warn("Failed to convey ERROR satus, queue is full");
118118
}
119119
break;
120120
default:
121-
log.log(Level.INFO, String.format("Payload with unknown type: %s", take.getType()));
121+
log.info(String.format("Payload with unknown type: %s", take.getType()));
122122
}
123123
}
124124

125-
log.log(Level.INFO, "Shutting down store stream listener");
125+
log.info("Shutting down store stream listener");
126126
}
127127

128128
}

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/storage/connector/grpc/GrpcStreamConnector.java

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
package dev.openfeature.contrib.providers.flagd.resolver.process.storage.connector.grpc;
22

3-
import java.util.Random;
4-
import java.util.concurrent.BlockingQueue;
5-
import java.util.concurrent.LinkedBlockingQueue;
6-
import java.util.concurrent.TimeUnit;
7-
import java.util.concurrent.atomic.AtomicBoolean;
8-
import java.util.logging.Level;
9-
103
import dev.openfeature.contrib.providers.flagd.FlagdOptions;
114
import dev.openfeature.contrib.providers.flagd.resolver.common.ChannelBuilder;
125
import dev.openfeature.contrib.providers.flagd.resolver.process.storage.connector.Connector;
@@ -16,12 +9,18 @@
169
import dev.openfeature.flagd.sync.SyncService;
1710
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1811
import io.grpc.ManagedChannel;
19-
import lombok.extern.java.Log;
12+
import lombok.extern.slf4j.Slf4j;
13+
14+
import java.util.Random;
15+
import java.util.concurrent.BlockingQueue;
16+
import java.util.concurrent.LinkedBlockingQueue;
17+
import java.util.concurrent.TimeUnit;
18+
import java.util.concurrent.atomic.AtomicBoolean;
2019

2120
/**
2221
* Implements the {@link Connector} contract and emit flags obtained from flagd sync gRPC contract.
2322
*/
24-
@Log
23+
@Slf4j
2524
@SuppressFBWarnings(value = {"PREDICTABLE_RANDOM", "EI_EXPOSE_REP"},
2625
justification = "Random is used to generate a variation & flag configurations require exposing")
2726
public class GrpcStreamConnector implements Connector {
@@ -41,7 +40,7 @@ public class GrpcStreamConnector implements Connector {
4140

4241
/**
4342
* Construct a new GrpcStreamConnector.
44-
*
43+
*
4544
* @param options flagd options
4645
*/
4746
public GrpcStreamConnector(final FlagdOptions options) {
@@ -58,7 +57,7 @@ public void init() {
5857
try {
5958
observeEventStream(blockingQueue, shutdown, serviceStub);
6059
} catch (InterruptedException e) {
61-
log.log(Level.WARNING, "gRPC event stream interrupted, flag configurations are stale", e);
60+
log.warn("gRPC event stream interrupted, flag configurations are stale", e);
6261
}
6362
});
6463

@@ -75,6 +74,7 @@ public BlockingQueue<StreamPayload> getStream() {
7574

7675
/**
7776
* Shutdown gRPC stream connector.
77+
*
7878
* @throws InterruptedException if stream can't be closed within deadline.
7979
*/
8080
public void shutdown() throws InterruptedException {
@@ -91,7 +91,7 @@ public void shutdown() throws InterruptedException {
9191
if (this.channel != null && !this.channel.isShutdown()) {
9292
this.channel.shutdownNow();
9393
this.channel.awaitTermination(this.deadline, TimeUnit.MILLISECONDS);
94-
log.warning(String.format("Unable to shut down channel by %d deadline", this.deadline));
94+
log.warn(String.format("Unable to shut down channel by %d deadline", this.deadline));
9595
}
9696
}
9797
}
@@ -120,13 +120,12 @@ static void observeEventStream(final BlockingQueue<StreamPayload> writeTo,
120120
}
121121

122122
if (response.getError() != null) {
123-
log.log(Level.WARNING,
124-
String.format("Error from grpc connection, retrying in %dms", retryDelay),
123+
log.warn(String.format("Error from grpc connection, retrying in %dms", retryDelay),
125124
response.getError());
126125

127126
if (!writeTo.offer(
128127
new StreamPayload(StreamPayloadType.ERROR, "Error from stream connection, retrying"))) {
129-
log.log(Level.WARNING, "Failed to convey ERROR satus, queue is full");
128+
log.warn("Failed to convey ERROR satus, queue is full");
130129
}
131130
break;
132131
}
@@ -136,7 +135,7 @@ static void observeEventStream(final BlockingQueue<StreamPayload> writeTo,
136135
case SYNC_STATE_ALL:
137136
if (!writeTo.offer(
138137
new StreamPayload(StreamPayloadType.DATA, flagsResponse.getFlagConfiguration()))) {
139-
log.log(Level.WARNING, "Stream writing failed");
138+
log.warn("Stream writing failed");
140139
}
141140
break;
142141
case SYNC_STATE_UNSPECIFIED:
@@ -156,7 +155,7 @@ static void observeEventStream(final BlockingQueue<StreamPayload> writeTo,
156155

157156
// check for shutdown and avoid sleep
158157
if (shutdown.get()) {
159-
log.log(Level.INFO, "Shutdown invoked, exiting event stream listener");
158+
log.info("Shutdown invoked, exiting event stream listener");
160159
return;
161160
}
162161

@@ -169,6 +168,6 @@ static void observeEventStream(final BlockingQueue<StreamPayload> writeTo,
169168
}
170169

171170
// log as this can happen after awakened from backoff sleep
172-
log.log(Level.INFO, "Shutdown invoked, exiting event stream listener");
171+
log.info("Shutdown invoked, exiting event stream listener");
173172
}
174173
}

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/storage/connector/grpc/GrpcStreamHandler.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22

33
import dev.openfeature.flagd.sync.SyncService;
44
import io.grpc.stub.StreamObserver;
5-
import lombok.extern.java.Log;
5+
import lombok.extern.slf4j.Slf4j;
66

77
import java.util.concurrent.BlockingQueue;
8-
import java.util.logging.Level;
98

10-
@Log
9+
@Slf4j
1110
class GrpcStreamHandler implements StreamObserver<SyncService.SyncFlagsResponse> {
1211
private final BlockingQueue<GrpcResponseModel> blockingQueue;
1312

@@ -18,21 +17,21 @@ class GrpcStreamHandler implements StreamObserver<SyncService.SyncFlagsResponse>
1817
@Override
1918
public void onNext(SyncService.SyncFlagsResponse syncFlagsResponse) {
2019
if (!blockingQueue.offer(new GrpcResponseModel(syncFlagsResponse))) {
21-
log.log(Level.WARNING, "failed to write sync response to queue");
20+
log.warn("failed to write sync response to queue");
2221
}
2322
}
2423

2524
@Override
2625
public void onError(Throwable throwable) {
2726
if (!blockingQueue.offer(new GrpcResponseModel(throwable))) {
28-
log.log(Level.WARNING, "failed to write error response to queue");
27+
log.warn("failed to write error response to queue");
2928
}
3029
}
3130

3231
@Override
3332
public void onCompleted() {
3433
if (!blockingQueue.offer(new GrpcResponseModel(true))) {
35-
log.log(Level.WARNING, "failed to write complete status to queue");
34+
log.warn("failed to write complete status to queue");
3635
}
3736
}
3837
}

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/targeting/Fractional.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,15 @@
44
import io.github.jamsesso.jsonlogic.evaluator.JsonLogicEvaluationException;
55
import io.github.jamsesso.jsonlogic.evaluator.expressions.PreEvaluatedArgumentsExpression;
66
import lombok.Getter;
7-
import lombok.extern.java.Log;
7+
import lombok.extern.slf4j.Slf4j;
88
import org.apache.commons.codec.digest.MurmurHash3;
99

1010
import java.nio.charset.StandardCharsets;
1111
import java.util.ArrayList;
1212
import java.util.Arrays;
1313
import java.util.List;
14-
import java.util.logging.Level;
1514

16-
@Log
15+
@Slf4j
1716
class Fractional implements PreEvaluatedArgumentsExpression {
1817

1918
public String key() {
@@ -42,7 +41,7 @@ public Object evaluate(List arguments, Object data) throws JsonLogicEvaluationEx
4241
} else {
4342
// fallback to targeting key if present
4443
if (properties.getTargetingKey() == null) {
45-
log.log(Level.FINE, "Missing fallback targeting key");
44+
log.debug("Missing fallback targeting key");
4645
return null;
4746
}
4847

@@ -61,12 +60,12 @@ public Object evaluate(List arguments, Object data) throws JsonLogicEvaluationEx
6160
distribution += fractionProperty.getPercentage();
6261
}
6362
} catch (JsonLogicException e) {
64-
log.log(Level.FINE, "Error parsing fractional targeting rule", e);
63+
log.debug("Error parsing fractional targeting rule", e);
6564
return null;
6665
}
6766

6867
if (distribution != 100) {
69-
log.log(Level.FINE, "Fractional properties do not sum to 100");
68+
log.debug("Fractional properties do not sum to 100");
7069
return null;
7170
}
7271

0 commit comments

Comments
 (0)