diff --git a/logging/log4j2/pom.xml b/logging/log4j2/pom.xml index 537427e232..01cdfc5872 100644 --- a/logging/log4j2/pom.xml +++ b/logging/log4j2/pom.xml @@ -31,6 +31,13 @@ 2.8.2 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.8.2 + + org.apache.logging.log4j diff --git a/logging/log4j2/src/test/java/com/baeldung/logging/log4j2/tests/AsyncFileAppenderUsingJsonLayoutTest.java b/logging/log4j2/src/test/java/com/baeldung/logging/log4j2/tests/AsyncFileAppenderUsingJsonLayoutTest.java index c9ce0c2828..1006b38b14 100644 --- a/logging/log4j2/src/test/java/com/baeldung/logging/log4j2/tests/AsyncFileAppenderUsingJsonLayoutTest.java +++ b/logging/log4j2/src/test/java/com/baeldung/logging/log4j2/tests/AsyncFileAppenderUsingJsonLayoutTest.java @@ -1,19 +1,14 @@ package com.baeldung.logging.log4j2.tests; -import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.junit.LoggerContextRule; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; -import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.List; -import java.util.stream.Collectors; import static org.junit.Assert.assertTrue; @@ -21,7 +16,7 @@ import static org.junit.Assert.assertTrue; public class AsyncFileAppenderUsingJsonLayoutTest { @Rule - public LoggerContextRule contextRule = new LoggerContextRule("log4j2-async-file-appender_json-layout_colored.xml"); + public LoggerContextRule contextRule = new LoggerContextRule("log4j2-async-file-appender_json-layout.xml"); @Test public void givenLoggerWithAsyncConfig_shouldLogToJsonFile() throws Exception { @@ -30,16 +25,7 @@ public class AsyncFileAppenderUsingJsonLayoutTest { for (int i = 0; i < count; i++) { logger.info("This is async JSON message #{} at INFO level.", count); } - ObjectMapper objectMapper = new ObjectMapper(); - List logEvents = Files.readAllLines(Paths.get("target/logfile.json")).stream() - .map(s -> { - try { - return objectMapper.readValue(s.getBytes(), LogEvent.class); - } catch (IOException e) { - throw new RuntimeException("Failed to import LogEvent!", e); - } - }) - .collect(Collectors.toList()); - assertTrue(logEvents.size() <= count); + long logEventsCount = Files.lines(Paths.get("target/logfile.json")).count(); + assertTrue(logEventsCount == count); } } diff --git a/logging/log4j2/src/test/java/com/baeldung/logging/log4j2/tests/RollingFileAppenderUsingXMLLayoutTest.java b/logging/log4j2/src/test/java/com/baeldung/logging/log4j2/tests/RollingFileAppenderUsingXMLLayoutTest.java new file mode 100644 index 0000000000..f455003b08 --- /dev/null +++ b/logging/log4j2/src/test/java/com/baeldung/logging/log4j2/tests/RollingFileAppenderUsingXMLLayoutTest.java @@ -0,0 +1,34 @@ +package com.baeldung.logging.log4j2.tests; + +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.junit.LoggerContextRule; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.stream.Collectors; + +import static org.junit.Assert.assertTrue; + +@RunWith(JUnit4.class) +public class RollingFileAppenderUsingXMLLayoutTest { + + @Rule + public LoggerContextRule contextRule = new LoggerContextRule("log4j2-rolling-file-appender_xml-layout.xml"); + + @Test + public void givenLoggerWithRollingFileConfig_shouldLogToXMLFile() throws Exception { + Logger logger = contextRule.getLogger(getClass().getSimpleName()); + final int count = 88; + for (int i = 0; i < count; i++) { + logger.info("This is rolling file XML message #{} at INFO level.", count); + } + String[] logEvents = Files.readAllLines(Paths.get("target/logfile.xml")).stream() + .collect(Collectors.joining(System.lineSeparator())) + .split("\\n\\n+"); + assertTrue(logEvents.length == count); + } +} diff --git a/logging/log4j2/src/test/resources/log4j2-async-file-appender_json-layout_colored.xml b/logging/log4j2/src/test/resources/log4j2-async-file-appender_json-layout.xml similarity index 100% rename from logging/log4j2/src/test/resources/log4j2-async-file-appender_json-layout_colored.xml rename to logging/log4j2/src/test/resources/log4j2-async-file-appender_json-layout.xml diff --git a/logging/log4j2/src/test/resources/log4j2-rolling-file-appender_xml-layout.xml b/logging/log4j2/src/test/resources/log4j2-rolling-file-appender_xml-layout.xml new file mode 100644 index 0000000000..8d47061a9e --- /dev/null +++ b/logging/log4j2/src/test/resources/log4j2-rolling-file-appender_xml-layout.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + +