Skip to content

Commit d60a907

Browse files
fix: changed from JUL to System.Logger
Signed-off-by: Matt Peterson <[email protected]>
1 parent 3e73a5d commit d60a907

File tree

9 files changed

+35
-45
lines changed

9 files changed

+35
-45
lines changed

server/src/main/java/com/hedera/block/server/BlockStreamService.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
import io.grpc.stub.StreamObserver;
2828
import io.helidon.webserver.grpc.GrpcService;
2929

30-
import java.util.logging.Logger;
31-
3230
import static com.hedera.block.server.Constants.*;
3331

3432
/**
@@ -41,7 +39,7 @@
4139
*/
4240
public class BlockStreamService implements GrpcService {
4341

44-
private final Logger LOGGER = Logger.getLogger(getClass().getName());
42+
private final System.Logger LOGGER = System.getLogger(getClass().getName());
4543

4644
private final long timeoutThresholdMillis;
4745
private final StreamMediator<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse> streamMediator;
@@ -100,7 +98,7 @@ public void update(final Routing routing) {
10098
*/
10199
private StreamObserver<BlockStreamServiceGrpcProto.Block> streamSink(
102100
final StreamObserver<BlockStreamServiceGrpcProto.BlockResponse> responseStreamObserver) {
103-
LOGGER.finer("Executing bidirectional streamSink method");
101+
LOGGER.log(System.Logger.Level.DEBUG, "Executing bidirectional streamSink method");
104102

105103
return new ProducerBlockStreamObserver(streamMediator, responseStreamObserver);
106104
}
@@ -115,7 +113,7 @@ private StreamObserver<BlockStreamServiceGrpcProto.Block> streamSink(
115113
* handling responses from the consumer.
116114
*/
117115
private StreamObserver<BlockStreamServiceGrpcProto.BlockResponse> streamSource(final StreamObserver<BlockStreamServiceGrpcProto.Block> responseStreamObserver) {
118-
LOGGER.finer("Executing bidirectional streamSource method");
116+
LOGGER.log(System.Logger.Level.DEBUG, "Executing bidirectional streamSource method");
119117

120118
// Return a custom StreamObserver to handle streaming blocks from the producer.
121119
final LiveStreamObserver<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse> streamObserver = new LiveStreamObserverImpl(

server/src/main/java/com/hedera/block/server/Server.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import io.helidon.webserver.http.HttpRouting;
3434

3535
import java.io.IOException;
36-
import java.util.logging.Logger;
3736
import java.util.stream.Stream;
3837

3938
import static com.hedera.block.server.Constants.*;
@@ -47,7 +46,7 @@ public class Server {
4746
private static ServerCalls.BidiStreamingMethod<Stream<BlockStreamServiceGrpcProto.Block>, StreamObserver<BlockStreamServiceGrpcProto.Block>> clientBidiStreamingMethod;
4847
private static ServerCalls.BidiStreamingMethod<Stream<BlockStreamServiceGrpcProto.BlockResponse>, StreamObserver<BlockStreamServiceGrpcProto.Block>> serverBidiStreamingMethod;
4948

50-
private static final Logger LOGGER = Logger.getLogger(Server.class.getName());
49+
private static final System.Logger LOGGER = System.getLogger(Server.class.getName());
5150

5251
private Server() {}
5352

@@ -89,7 +88,7 @@ public static void main(final String[] args) {
8988
.start();
9089

9190
} catch (IOException e) {
92-
LOGGER.severe("There was an exception starting the server: " + e.getMessage());
91+
LOGGER.log(System.Logger.Level.ERROR, "There was an exception starting the server: " + e.getMessage());
9392
throw new RuntimeException(e);
9493
}
9594
}

server/src/main/java/com/hedera/block/server/consumer/LiveStreamObserverImpl.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,14 @@
2222
import com.hedera.block.server.mediator.StreamMediator;
2323
import io.grpc.stub.StreamObserver;
2424

25-
import java.util.logging.Logger;
26-
2725
/**
2826
* The LiveStreamObserverImpl class implements the LiveStreamObserver interface to pass blocks to the downstream consumer
2927
* via the notify method and manage the bidirectional stream to the consumer via the onNext, onError, and onCompleted methods.
3028
*
3129
*/
3230
public class LiveStreamObserverImpl implements LiveStreamObserver<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse> {
3331

34-
private final Logger LOGGER = Logger.getLogger(getClass().getName());
32+
private final System.Logger LOGGER = System.getLogger(getClass().getName());
3533

3634
private final StreamMediator<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse> mediator;
3735
private final StreamObserver<BlockStreamServiceGrpcProto.Block> responseStreamObserver;
@@ -69,7 +67,7 @@ public void notify(final BlockStreamServiceGrpcProto.Block block) {
6967

7068
if (System.currentTimeMillis() - this.consumerLivenessMillis > timeoutThresholdMillis) {
7169
if (mediator.isSubscribed(this)) {
72-
LOGGER.info("Consumer timeout threshold exceeded. Unsubscribing observer.");
70+
LOGGER.log(System.Logger.Level.DEBUG, "Consumer timeout threshold exceeded. Unsubscribing observer.");
7371
mediator.unsubscribe(this);
7472
}
7573
} else {
@@ -88,11 +86,11 @@ public void onNext(final BlockStreamServiceGrpcProto.BlockResponse blockResponse
8886

8987
if (System.currentTimeMillis() - this.producerLivenessMillis > timeoutThresholdMillis) {
9088
if (mediator.isSubscribed(this)) {
91-
LOGGER.info("Producer timeout threshold exceeded. Unsubscribing observer.");
89+
LOGGER.log(System.Logger.Level.DEBUG, "Producer timeout threshold exceeded. Unsubscribing observer.");
9290
mediator.unsubscribe(this);
9391
}
9492
} else {
95-
LOGGER.finer("Received response block " + blockResponse);
93+
LOGGER.log(System.Logger.Level.DEBUG, "Received response block " + blockResponse);
9694
this.consumerLivenessMillis = System.currentTimeMillis();
9795
}
9896
}
@@ -105,7 +103,7 @@ public void onNext(final BlockStreamServiceGrpcProto.BlockResponse blockResponse
105103
*/
106104
@Override
107105
public void onError(final Throwable t) {
108-
LOGGER.severe("onError: " + t.getMessage());
106+
LOGGER.log(System.Logger.Level.ERROR, t.getMessage());
109107
mediator.unsubscribe(this);
110108
}
111109

@@ -116,8 +114,8 @@ public void onError(final Throwable t) {
116114
*/
117115
@Override
118116
public void onCompleted() {
119-
LOGGER.finer("gRPC connection completed. Unsubscribing observer.");
117+
LOGGER.log(System.Logger.Level.DEBUG, "gRPC connection completed. Unsubscribing observer.");
120118
mediator.unsubscribe(this);
121-
LOGGER.finer("Unsubscribed observer.");
119+
LOGGER.log(System.Logger.Level.DEBUG, "Unsubscribed observer.");
122120
}
123121
}

server/src/main/java/com/hedera/block/server/mediator/LiveStreamMediatorImpl.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import java.util.Collections;
2626
import java.util.LinkedHashSet;
2727
import java.util.Set;
28-
import java.util.logging.Logger;
2928

3029
/**
3130
* LiveStreamMediatorImpl is the implementation of the StreamMediator interface. It is responsible for managing
@@ -35,7 +34,7 @@
3534
*/
3635
public class LiveStreamMediatorImpl implements StreamMediator<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse> {
3736

38-
private final Logger LOGGER = Logger.getLogger(getClass().getName());
37+
private final System.Logger LOGGER = System.getLogger(getClass().getName());
3938
private final Set<LiveStreamObserver<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse>> subscribers = Collections.synchronizedSet(new LinkedHashSet<>());
4039

4140
private final BlockPersistenceHandler<BlockStreamServiceGrpcProto.Block> blockPersistenceHandler;
@@ -68,9 +67,9 @@ public void subscribe(final LiveStreamObserver<BlockStreamServiceGrpcProto.Block
6867
@Override
6968
public void unsubscribe(final LiveStreamObserver<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse> liveStreamObserver) {
7069
if (this.subscribers.remove(liveStreamObserver)) {
71-
LOGGER.finer("Successfully removed observer from subscription list");
70+
LOGGER.log(System.Logger.Level.DEBUG, "Successfully removed observer from subscription list");
7271
} else {
73-
LOGGER.finer("Failed to remove observer from subscription list");
72+
LOGGER.log(System.Logger.Level.ERROR, "Failed to remove observer from subscription list");
7473
}
7574
}
7675

server/src/main/java/com/hedera/block/server/persistence/cache/LRUCache.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
import java.util.Collections;
2525
import java.util.Map;
26-
import java.util.logging.Logger;
2726

2827
/**
2928
* An LRU cache implementation which uses a custom LinkedHashMap to store blocks in memory and
@@ -40,8 +39,8 @@ public class LRUCache implements BlockCache<BlockStreamServiceGrpcProto.Block> {
4039
* @param maxEntries the maximum number of entries in the cache
4140
*/
4241
public LRUCache(final long maxEntries) {
43-
final Logger LOGGER = Logger.getLogger(getClass().getName());
44-
LOGGER.finer("Creating LRUCache with maxEntries: " + maxEntries);
42+
final System.Logger LOGGER = System.getLogger(getClass().getName());
43+
LOGGER.log(System.Logger.Level.INFO, "Creating LRUCache with maxEntries: " + maxEntries);
4544

4645
m = Collections.synchronizedMap(new BNLinkedHashMap<>(maxEntries));
4746
}

server/src/main/java/com/hedera/block/server/persistence/storage/FileSystemBlockStorage.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import java.nio.file.Files;
2929
import java.nio.file.Path;
3030
import java.util.Optional;
31-
import java.util.logging.Logger;
3231

3332
import static com.hedera.block.server.Constants.BLOCKNODE_STORAGE_ROOT_PATH_KEY;
3433

@@ -40,7 +39,7 @@ public class FileSystemBlockStorage implements BlockStorage<BlockStreamServiceGr
4039
public static final String BLOCK_FILE_EXTENSION = ".blk";
4140

4241
private final Path blockNodeRootPath;
43-
private final Logger LOGGER = Logger.getLogger(getClass().getName());
42+
private final System.Logger LOGGER = System.getLogger(getClass().getName());
4443

4544
/**
4645
* Constructs a FileSystemBlockStorage object.
@@ -51,15 +50,15 @@ public class FileSystemBlockStorage implements BlockStorage<BlockStreamServiceGr
5150
*/
5251
public FileSystemBlockStorage(final String key, final Config config) throws IOException {
5352

54-
LOGGER.info("Initializing FileSystemBlockStorage");
55-
LOGGER.info(config.toString());
53+
LOGGER.log(System.Logger.Level.INFO, "Initializing FileSystemBlockStorage");
54+
LOGGER.log(System.Logger.Level.INFO, config.toString());
5655

5756
blockNodeRootPath = Path.of(config
5857
.get(key)
5958
.asString()
6059
.get());
6160

62-
LOGGER.info("Block Node Root Path: " + blockNodeRootPath);
61+
LOGGER.log(System.Logger.Level.INFO, "Block Node Root Path: " + blockNodeRootPath);
6362

6463
if (!blockNodeRootPath.isAbsolute()) {
6564
throw new IllegalArgumentException(BLOCKNODE_STORAGE_ROOT_PATH_KEY+ " must be an absolute path");
@@ -68,9 +67,9 @@ public FileSystemBlockStorage(final String key, final Config config) throws IOEx
6867
// Initialize the block node root directory if it does not exist
6968
if (Files.notExists(blockNodeRootPath)) {
7069
Files.createDirectory(blockNodeRootPath);
71-
LOGGER.info("Created block node root directory: " + blockNodeRootPath);
70+
LOGGER.log(System.Logger.Level.INFO, "Created block node root directory: " + blockNodeRootPath);
7271
} else {
73-
LOGGER.info("Block node root directory exists: " + blockNodeRootPath);
72+
LOGGER.log(System.Logger.Level.INFO, "Block node root directory exists: " + blockNodeRootPath);
7473
}
7574
}
7675

@@ -84,14 +83,15 @@ public FileSystemBlockStorage(final String key, final Config config) throws IOEx
8483
public Optional<Long> write(final BlockStreamServiceGrpcProto.Block block) {
8584
Long id = block.getId();
8685
final String fullPath = resolvePath(id);
87-
LOGGER.finer("Wrote the block file: " + fullPath);
8886

8987
try (FileOutputStream fos = new FileOutputStream(fullPath)) {
9088
block.writeTo(fos);
89+
LOGGER.log(System.Logger.Level.DEBUG, "Wrote the block file: " + fullPath);
90+
9191
return Optional.of(id);
9292
}
9393
catch (IOException e) {
94-
LOGGER.severe("Error writing string to file: " + e.getMessage());
94+
LOGGER.log(System.Logger.Level.ERROR, "Error writing the protobuf to file: " + e.getMessage());
9595
return Optional.empty();
9696
}
9797
}
@@ -112,7 +112,7 @@ private Optional<BlockStreamServiceGrpcProto.Block> read(final String filePath)
112112
try (FileInputStream fis = new FileInputStream(filePath)) {
113113
return Optional.of(BlockStreamServiceGrpcProto.Block.parseFrom(fis));
114114
} catch (FileNotFoundException io) {
115-
LOGGER.severe("Error reading file: " + filePath);
115+
LOGGER.log(System.Logger.Level.ERROR, "Error reading file: " + filePath);
116116
return Optional.empty();
117117
} catch (IOException io) {
118118
throw new RuntimeException("Error reading file: " + filePath, io);
@@ -123,7 +123,7 @@ private String resolvePath(final Long id) {
123123

124124
String fileName = id + BLOCK_FILE_EXTENSION;
125125
Path fullPath = blockNodeRootPath.resolve(fileName);
126-
LOGGER.finer("Resolved fullPath: " + fullPath);
126+
LOGGER.log(System.Logger.Level.DEBUG, "Resolved fullPath: " + fullPath);
127127

128128
return fullPath.toString();
129129
}

server/src/main/java/com/hedera/block/server/producer/ProducerBlockStreamObserver.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
import com.hedera.block.server.mediator.StreamMediator;
2323
import io.grpc.stub.StreamObserver;
2424

25-
import java.util.logging.Logger;
26-
2725
/**
2826
* The ProducerBlockStreamObserver class plugs into Helidon's server-initiated bidirectional
2927
* gRPC service implementation. Helidon calls methods on this class as networking events occur
@@ -35,7 +33,7 @@ public class ProducerBlockStreamObserver implements StreamObserver<BlockStreamSe
3533

3634
private final StreamMediator<BlockStreamServiceGrpcProto.Block, BlockStreamServiceGrpcProto.BlockResponse> streamMediator;
3735
private final StreamObserver<BlockStreamServiceGrpcProto.BlockResponse> responseStreamObserver;
38-
private final Logger LOGGER = Logger.getLogger(getClass().getName());
36+
private final System.Logger LOGGER = System.getLogger(getClass().getName());
3937

4038
/**
4139
* Constructor for the ProducerBlockStreamObserver class. It is responsible for calling the mediator with blocks
@@ -73,7 +71,7 @@ public void onNext(final BlockStreamServiceGrpcProto.Block block) {
7371
*/
7472
@Override
7573
public void onError(final Throwable t) {
76-
LOGGER.severe("onError called with the exception: " + t.getMessage());
74+
LOGGER.log(System.Logger.Level.ERROR, "onError method called with the exception: " + t.getMessage());
7775
}
7876

7977
/**
@@ -83,8 +81,8 @@ public void onError(final Throwable t) {
8381
*/
8482
@Override
8583
public void onCompleted() {
86-
LOGGER.finer("ProducerBlockStreamObserver completed");
84+
LOGGER.log(System.Logger.Level.DEBUG, "ProducerBlockStreamObserver completed");
8785
this.streamMediator.unsubscribeAll();
88-
LOGGER.finer("Unsubscribed all downstream consumers");
86+
LOGGER.log(System.Logger.Level.DEBUG, "Unsubscribed all downstream consumers");
8987
}
9088
}

server/src/main/java/module-info.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
requires io.helidon.webserver.grpc;
99
requires io.helidon.webserver;
1010
requires jakarta.inject;
11-
requires java.logging;
11+
requires static java.logging;
1212
}

server/src/test/java/com/hedera/block/server/persistence/WriteThroughCacheHandlerTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,13 @@
3838
import java.util.List;
3939
import java.util.Map;
4040
import java.util.Optional;
41-
import java.util.logging.Logger;
4241

4342
import static com.hedera.block.server.persistence.PersistTestUtils.generateBlocks;
4443
import static org.junit.jupiter.api.Assertions.*;
4544

4645
public class WriteThroughCacheHandlerTest {
4746

48-
private final Logger LOGGER = Logger.getLogger(getClass().getName());
47+
private final System.Logger LOGGER = System.getLogger(getClass().getName());
4948

5049
private static final String TEMP_DIR = "block-node-unit-test-dir";
5150
private static final String JUNIT = "my-junit-test";
@@ -56,7 +55,7 @@ public class WriteThroughCacheHandlerTest {
5655
@BeforeEach
5756
public void setUp() throws IOException {
5857
testPath = Files.createTempDirectory(TEMP_DIR);
59-
LOGGER.info("Created temp directory: " + testPath.toString());
58+
LOGGER.log(System.Logger.Level.INFO, "Created temp directory: " + testPath.toString());
6059

6160
Map<String, String> testProperties = Map.of(JUNIT, testPath.toString());
6261
ConfigSource testConfigSource = MapConfigSource.builder().map(testProperties).build();

0 commit comments

Comments
 (0)