Skip to content

Commit 39c1e47

Browse files
committed
Use 3 decimal places at most for logged startup time
Fixes gh-18278
1 parent 7d3e53c commit 39c1e47

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/StartupInfoLogger.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ private CharSequence getStartedMessage(StopWatch stopWatch) {
8787
message.append("Started ");
8888
appendApplicationName(message);
8989
message.append(" in ");
90-
message.append(stopWatch.getTotalTimeSeconds());
90+
message.append(stopWatch.getTotalTimeMillis() / 1000.0);
9191
message.append(" seconds");
9292
try {
9393
double uptime = ManagementFactory.getRuntimeMXBean().getUptime() / 1000.0;

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/StartUpLoggerTests.java renamed to spring-boot-project/spring-boot/src/test/java/org/springframework/boot/StartupInfoLoggerTests.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import org.junit.jupiter.api.Test;
2121
import org.mockito.ArgumentCaptor;
2222

23+
import org.springframework.util.StopWatch;
24+
2325
import static org.assertj.core.api.Assertions.assertThat;
2426
import static org.mockito.BDDMockito.given;
2527
import static org.mockito.Mockito.mock;
@@ -31,7 +33,7 @@
3133
* @author Dave Syer
3234
* @author Andy Wilkinson
3335
*/
34-
class StartUpLoggerTests {
36+
class StartupInfoLoggerTests {
3537

3638
private final Log log = mock(Log.class);
3739

@@ -44,4 +46,17 @@ void sourceClassIncluded() {
4446
assertThat(captor.getValue().toString()).startsWith("Starting " + getClass().getSimpleName());
4547
}
4648

49+
@Test
50+
void startedFormat() {
51+
StopWatch stopWatch = new StopWatch();
52+
stopWatch.start();
53+
given(this.log.isInfoEnabled()).willReturn(true);
54+
stopWatch.stop();
55+
new StartupInfoLogger(getClass()).logStarted(this.log, stopWatch);
56+
ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class);
57+
verify(this.log).info(captor.capture());
58+
assertThat(captor.getValue().toString()).matches("Started " + getClass().getSimpleName()
59+
+ " in \\d+\\.\\d{1,3} seconds \\(JVM running for \\d+\\.\\d{1,3}\\)");
60+
}
61+
4762
}

0 commit comments

Comments
 (0)