Skip to content

Commit df83a41

Browse files
authored
chore: Add Node Is Starting message to Turtle swirlds.log (#21797)
Signed-off-by: Kelly Greco <kelly@swirldslabs.com>
1 parent 7dfd920 commit df83a41

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

platform-sdk/consensus-otter-tests/src/testFixtures/java/org/hiero/otter/fixtures/turtle/TurtleNode.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121
import com.swirlds.component.framework.model.DeterministicWiringModel;
2222
import com.swirlds.component.framework.model.WiringModelBuilder;
2323
import com.swirlds.config.api.Configuration;
24+
import com.swirlds.logging.legacy.LogMarker;
2425
import com.swirlds.metrics.api.Metrics;
2526
import com.swirlds.platform.builder.PlatformBuilder;
2627
import com.swirlds.platform.builder.PlatformBuildingBlocks;
2728
import com.swirlds.platform.builder.PlatformComponentBuilder;
29+
import com.swirlds.platform.builder.internal.StaticPlatformBuilder;
2830
import com.swirlds.platform.config.PathsConfig;
2931
import com.swirlds.platform.state.service.PlatformStateFacade;
3032
import com.swirlds.platform.state.service.PlatformStateService;
@@ -88,6 +90,11 @@
8890
*/
8991
public class TurtleNode extends AbstractNode implements Node, TurtleTimeManager.TimeTickReceiver {
9092
private static final Logger log = LogManager.getLogger();
93+
/**
94+
* Logger for startup messages that should appear in per-node logs (uses platform package to bypass org.hiero.otter
95+
* exclusion)
96+
*/
97+
private static final Logger startupLogger = LogManager.getLogger("com.swirlds.platform.node.startup");
9198

9299
private final Randotron randotron;
93100
private final TurtleTimeManager timeManager;
@@ -160,6 +167,9 @@ protected void doStart(@NonNull final Duration timeout) {
160167
throwIfInLifecycle(RUNNING, "Node has already been started.");
161168
throwIfInLifecycle(DESTROYED, "Node has already been destroyed.");
162169

170+
// Log the startup message using the same STARTUP marker and message as production nodes
171+
// Uses a platform logger to ensure it routes through per-node appenders
172+
startupLogger.info(LogMarker.STARTUP.getMarker(), "\n\n" + StaticPlatformBuilder.STARTUP_MESSAGE + "\n");
163173
if (savedStateDirectory != null) {
164174
try {
165175
OtterSavedStateUtils.copySaveState(selfId, savedStateDirectory, outputDirectory);
@@ -291,6 +301,7 @@ protected void doStart(@NonNull final Duration timeout) {
291301

292302
platform = platformComponentBuilder.build();
293303
platformStatus = PlatformStatus.STARTING_UP;
304+
294305
platform.start();
295306

296307
quiescenceCommand = QuiescenceCommand.DONT_QUIESCE;
@@ -444,6 +455,7 @@ public SingleNodeReconnectResult newReconnectResult() {
444455
public SingleNodeMarkerFileResult newMarkerFileResult() {
445456
return new SingleNodeMarkerFileResultImpl(resultsCollector);
446457
}
458+
447459
/**
448460
* {@inheritDoc}
449461
*/

platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/builder/internal/StaticPlatformBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public final class StaticPlatformBuilder {
2929
private static final Logger logger = LogManager.getLogger(StaticPlatformBuilder.class);
3030

3131
// @formatter:off
32-
private static final String STARTUP_MESSAGE =
32+
public static final String STARTUP_MESSAGE =
3333
"""
3434
//////////////////////
3535
// Node is Starting //

0 commit comments

Comments
 (0)