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; + } + } }