diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java index 2dcbc0a77f2..baf30e4052c 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java @@ -21,12 +21,12 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.UUID; import java.util.logging.Logger; - import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.jdbc.datasource.SimpleDriverDataSource; import org.springframework.jdbc.datasource.init.DatabasePopulator; import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; import org.springframework.util.Assert; @@ -63,7 +63,7 @@ import org.springframework.util.Assert; public class EmbeddedDatabaseFactory { /** - * Default name for an embedded database: "testdb". + * Default name for an embedded database: {@value} */ public static final String DEFAULT_DATABASE_NAME = "testdb"; @@ -171,10 +171,7 @@ public class EmbeddedDatabaseFactory { setDatabaseName(UUID.randomUUID().toString()); } - // Create the embedded database source first - if (logger.isInfoEnabled()) { - logger.info("Creating embedded database '" + this.databaseName + "'"); - } + // Create the embedded database first if (this.databaseConfigurer == null) { this.databaseConfigurer = EmbeddedDatabaseConfigurerFactory.getConfigurer(EmbeddedDatabaseType.HSQL); } @@ -182,6 +179,17 @@ public class EmbeddedDatabaseFactory { this.dataSourceFactory.getConnectionProperties(), this.databaseName); this.dataSource = this.dataSourceFactory.getDataSource(); + if (logger.isInfoEnabled()) { + if (this.dataSource instanceof SimpleDriverDataSource) { + SimpleDriverDataSource simpleDriverDataSource = (SimpleDriverDataSource) this.dataSource; + logger.info(String.format("Starting embedded database: url='%s', username='%s'", + simpleDriverDataSource.getUrl(), simpleDriverDataSource.getUsername())); + } + else { + logger.info(String.format("Starting embedded database '%s'", this.databaseName)); + } + } + // Now populate the database if (this.databasePopulator != null) { try { @@ -203,6 +211,17 @@ public class EmbeddedDatabaseFactory { */ protected void shutdownDatabase() { if (this.dataSource != null) { + + if (logger.isInfoEnabled()) { + if (this.dataSource instanceof SimpleDriverDataSource) { + logger.info(String.format("Shutting down embedded database: url='%s'", + ((SimpleDriverDataSource) this.dataSource).getUrl())); + } + else { + logger.info(String.format("Shutting down embedded database '%s'", this.databaseName)); + } + } + this.databaseConfigurer.shutdown(this.dataSource, this.databaseName); this.dataSource = null; } diff --git a/spring-jdbc/src/test/resources/log4j.properties b/spring-jdbc/src/test/resources/log4j.properties index 2cfb3bbec93..5d1ef552e50 100644 --- a/spring-jdbc/src/test/resources/log4j.properties +++ b/spring-jdbc/src/test/resources/log4j.properties @@ -1,10 +1,16 @@ log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%c] - %m%n +log4j.appender.console.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%-5p] [%c] - %m%n + +log4j.appender.file=org.apache.log4j.FileAppender +log4j.appender.file.file=bin/spring-jdbc.log +log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%c] - %m%n + +log4j.rootCategory=ERROR, console, file -log4j.rootCategory=WARN, console log4j.logger.org.springframework.beans=WARN log4j.logger.org.springframework.binding=DEBUG #log4j.logger.org.springframework.jdbc=TRACE - +#log4j.logger.org.springframework.jdbc.datasource.embedded=INFO