diff --git a/logging-modules/flogger/pom.xml b/logging-modules/flogger/pom.xml
index 2b96332bf6..0bba719616 100644
--- a/logging-modules/flogger/pom.xml
+++ b/logging-modules/flogger/pom.xml
@@ -17,11 +17,50 @@
flogger
0.4
+
com.google.flogger
flogger-system-backend
0.4
runtime
+
+
+ com.google.flogger
+ flogger-slf4j-backend
+ 0.4
+
+
+
+ com.google.flogger
+ flogger-log4j-backend
+ 0.4
+
+
+ com.sun.jmx
+ jmxri
+
+
+ com.sun.jdmk
+ jmxtools
+
+
+ javax.jms
+ jms
+
+
+
+
+
+ log4j
+ log4j
+ 1.2.17
+
+
+ log4j
+ apache-log4j-extras
+ 1.2.17
+
+
\ No newline at end of file
diff --git a/logging-modules/flogger/src/test/java/com/baeldung/flogger/FloggerIntegrationTest.java b/logging-modules/flogger/src/test/java/com/baeldung/flogger/FloggerIntegrationTest.java
index 69460dc045..80fa0edd96 100644
--- a/logging-modules/flogger/src/test/java/com/baeldung/flogger/FloggerIntegrationTest.java
+++ b/logging-modules/flogger/src/test/java/com/baeldung/flogger/FloggerIntegrationTest.java
@@ -12,6 +12,10 @@ import java.util.stream.IntStream;
import static com.google.common.flogger.LazyArgs.lazy;
public class FloggerIntegrationTest {
+ static {
+// System.setProperty("flogger.backend_factory", "com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance");
+ System.setProperty("flogger.backend_factory", "com.google.common.flogger.backend.slf4j.Slf4jBackendFactory#getInstance");
+ }
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
@Test
@@ -28,6 +32,16 @@ public class FloggerIntegrationTest {
});
}
+ @Test
+ public void givenAnObject_shouldLogTheObject() {
+ User user = new User();
+ logger.atInfo().log("The user is: %s", user); //correct
+
+ //The following ways of logging are not recommended
+ logger.atInfo().log("The user is: %s", user.toString());
+ logger.atInfo().log("The user is: %s" + user);
+ }
+
@Test
public void givenASimpleOperation_shouldLogTheResult() {
int result = 45 / 3;
@@ -70,4 +84,13 @@ public class FloggerIntegrationTest {
int s = 30;
return String.format("%d seconds elapsed so far. %d items pending processing", s, items);
}
+
+ private class User {
+ String name = "Test";
+
+ @Override
+ public String toString() {
+ return name;
+ }
+ }
}