diff --git a/spring-bootstrap/src/main/java/org/springframework/bootstrap/SpringApplication.java b/spring-bootstrap/src/main/java/org/springframework/bootstrap/SpringApplication.java
index a9a30ff8552..dcff5399302 100644
--- a/spring-bootstrap/src/main/java/org/springframework/bootstrap/SpringApplication.java
+++ b/spring-bootstrap/src/main/java/org/springframework/bootstrap/SpringApplication.java
@@ -347,8 +347,11 @@ public class SpringApplication {
}
protected void logStartupInfo() {
- new StartupInfoLogger(this.mainApplicationClass).log(getApplicationLog());
- getApplicationLog().info("Sources: " + this.sources);
+ Log applicationLog = getApplicationLog();
+ new StartupInfoLogger(this.mainApplicationClass).log(applicationLog);
+ if (applicationLog.isDebugEnabled()) {
+ applicationLog.debug("Sources: " + this.sources);
+ }
}
/**
diff --git a/spring-bootstrap/src/main/java/org/springframework/bootstrap/StartupInfoLogger.java b/spring-bootstrap/src/main/java/org/springframework/bootstrap/StartupInfoLogger.java
index 07daa46078d..3a8f8bf7793 100644
--- a/spring-bootstrap/src/main/java/org/springframework/bootstrap/StartupInfoLogger.java
+++ b/spring-bootstrap/src/main/java/org/springframework/bootstrap/StartupInfoLogger.java
@@ -46,6 +46,15 @@ class StartupInfoLogger {
public void log(Log log) {
Assert.notNull(log, "Log must not be null");
+ if (log.isInfoEnabled()) {
+ log.info(getStartupMessage());
+ }
+ if (log.isDebugEnabled()) {
+ log.debug(getRunningMessage());
+ }
+ }
+
+ private String getStartupMessage() {
StringBuilder message = new StringBuilder();
message.append("Starting ");
message.append(getApplicationName());
@@ -53,13 +62,16 @@ class StartupInfoLogger {
message.append(getOn());
message.append(getPid());
message.append(getContext());
- log.info(message);
- message.setLength(0);
+ return message.toString();
+ }
+
+ private StringBuilder getRunningMessage() {
+ StringBuilder message = new StringBuilder();
message.append("Running with Spring Bootstrap");
message.append(getVersion(SpringApplication.class));
message.append(", Spring");
message.append(getVersion(ApplicationContext.class));
- log.info(message);
+ return message;
}
private String getApplicationName() {
diff --git a/spring-bootstrap/src/main/resources/org/springframework/bootstrap/logging/logback/logback.xml b/spring-bootstrap/src/main/resources/org/springframework/bootstrap/logging/logback/logback.xml
index 68f672d6db7..e3854fd7bcd 100644
--- a/spring-bootstrap/src/main/resources/org/springframework/bootstrap/logging/logback/logback.xml
+++ b/spring-bootstrap/src/main/resources/org/springframework/bootstrap/logging/logback/logback.xml
@@ -32,6 +32,8 @@
-
+
+
+
diff --git a/spring-bootstrap/src/test/java/org/springframework/bootstrap/StartUpLoggerInfoTests.java b/spring-bootstrap/src/test/java/org/springframework/bootstrap/StartUpLoggerTests.java
similarity index 77%
rename from spring-bootstrap/src/test/java/org/springframework/bootstrap/StartUpLoggerInfoTests.java
rename to spring-bootstrap/src/test/java/org/springframework/bootstrap/StartUpLoggerTests.java
index fa17d26c87c..bcefcdde20d 100644
--- a/spring-bootstrap/src/test/java/org/springframework/bootstrap/StartUpLoggerInfoTests.java
+++ b/spring-bootstrap/src/test/java/org/springframework/bootstrap/StartUpLoggerTests.java
@@ -22,16 +22,18 @@ import org.junit.Test;
import static org.junit.Assert.assertTrue;
/**
+ * Tests for {@link StartupInfoLogger}.
+ *
* @author Dave Syer
*/
-public class StartUpLoggerInfoTests {
+public class StartUpLoggerTests {
private StringBuffer output = new StringBuffer();
private SimpleLog log = new SimpleLog("test") {
@Override
protected void write(StringBuffer buffer) {
- StartUpLoggerInfoTests.this.output.append(buffer).append("\n");
+ StartUpLoggerTests.this.output.append(buffer).append("\n");
};
};
@@ -40,14 +42,6 @@ public class StartUpLoggerInfoTests {
new StartupInfoLogger(getClass()).log(this.log);
assertTrue("Wrong output: " + this.output,
this.output.toString().contains("Starting " + getClass().getSimpleName()));
- // System.err.println(this.output);
- }
-
- @Test
- public void bootstrapVersionIncluded() {
- new StartupInfoLogger(getClass()).log(this.log);
- assertTrue("Wrong output: " + this.output,
- this.output.toString().contains("Spring Bootstrap v"));
}
}