diff --git a/ebean-test/src/main/java/io/ebean/test/CaptureLogger.java b/ebean-test/src/main/java/io/ebean/test/CaptureLogger.java
index b02413f91..b14f8d5b9 100644
--- a/ebean-test/src/main/java/io/ebean/test/CaptureLogger.java
+++ b/ebean-test/src/main/java/io/ebean/test/CaptureLogger.java
@@ -27,7 +27,11 @@ final class CaptureLogger implements SpiLogger {
@Override
public void debug(String msg, Object... args) {
if (active) {
- messages.add(MessageFormat.format(msg, args));
+ if (args != null && args.length > 0) {
+ messages.add(MessageFormat.format(msg, args));
+ } else {
+ messages.add(msg);
+ }
}
wrapped.debug(msg, args);
}
diff --git a/ebean-test/src/test/java/io/ebean/test/TestCaptureLogger.java b/ebean-test/src/test/java/io/ebean/test/TestCaptureLogger.java
new file mode 100644
index 000000000..8560f0924
--- /dev/null
+++ b/ebean-test/src/test/java/io/ebean/test/TestCaptureLogger.java
@@ -0,0 +1,33 @@
+package io.ebean.test;
+
+import io.ebeaninternal.api.SpiLogger;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class TestCaptureLogger {
+
+ @Test
+ void testDefaultLogger() {
+ SpiLogger logger = new CapturingLoggerFactory().create("io.ebean.test.loggerTest");
+ doSomeLogs(logger);
+
+ CaptureLogger captureLogger = new CaptureLogger(logger);
+ captureLogger.start();
+ doSomeLogs(captureLogger);
+ assertThat(captureLogger.stop()).containsExactly(
+ "test {0}", "test {}", "test {bla}", "test {bla} {0}", "test {bla} {0}", "test {bla} 1", "test '{bla}' {0}");
+ }
+
+ void doSomeLogs(SpiLogger logger) {
+ logger.debug("test {0}"); // Returns "test {0}"
+ logger.debug("test {}"); // Returns "test {}"
+ logger.debug("test {bla}"); // Returns "test {bla}"
+ logger.debug("test {bla} {0}"); // Returns "test {bla} {0}"
+ logger.debug("test {bla} {0}", new Object[]{}); // Returns "test {bla} {0}"
+ //logger.debug("Test {bla} {0}", 1); // fails: "can't parse argument number: bla"
+ logger.debug("test '{bla}' {0}", 1); // Returns "test {bla} 1"
+ logger.debug("test '{bla}' {0}"); // Returns "test '{bla}' {0}"
+ }
+
+}
diff --git a/ebean-test/src/test/resources/logback-test.xml b/ebean-test/src/test/resources/logback-test.xml
index 529a103d0..36c235e0c 100644
--- a/ebean-test/src/test/resources/logback-test.xml
+++ b/ebean-test/src/test/resources/logback-test.xml
@@ -78,6 +78,7 @@
+