BAEL-41: Added including tests:

- marker filter
This commit is contained in:
Christian Rädel 2016-10-03 22:28:16 +02:00
parent 8bab22bdca
commit b04ede30f5
5 changed files with 22 additions and 50 deletions

@ -1,6 +1,8 @@
package com.baeldung.logging.log4j2.tests;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.MarkerManager;
import org.apache.logging.log4j.junit.LoggerContextRule;
import org.junit.Rule;
import org.junit.Test;
@ -16,12 +18,21 @@ public class ConsoleAppenderUsingPatternLayoutWithColorsTest {
@Test
public void givenLoggerWithConsoleConfig_shouldLogToConsoleInColors() throws Exception {
Logger logger = contextRule.getLogger(getClass().getSimpleName());
logger.trace("This is a colored message at TRACE level. This is the minimum visible level.");
logger.debug("This is a colored message at DEBUG level.");
logger.trace("This is a colored message at TRACE level.");
logger.debug("This is a colored message at DEBUG level. This is the minimum visible level.");
logger.info("This is a colored message at INFO level.");
logger.warn("This is a colored message at WARN level.");
Exception e = new RuntimeException("This is only a test!");
logger.error("This is a colored message at ERROR level.", e);
logger.fatal("This is a colored message at FATAL level.");
}
@Test
public void givenLoggerWithConsoleConfig_shouldFilterByMarker() throws Exception {
Logger logger = contextRule.getLogger("ConnTrace");
Marker appError = MarkerManager.getMarker("APP_ERROR");
logger.error(appError, "This marker message at ERROR level should be hidden.");
Marker connectionTrace = MarkerManager.getMarker("CONN_TRACE");
logger.trace(connectionTrace, "This is a marker message at TRACE level.");
}
}

@ -1,33 +0,0 @@
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.concurrent.TimeUnit;
import static org.junit.Assert.assertTrue;
@RunWith(JUnit4.class)
public class FileAppenderUsingJsonLayoutWithBurstFilterTest {
@Rule
public LoggerContextRule contextRule = new LoggerContextRule("log4j2-file-appender_json-layout_burst-filter.xml");
@Test
public void givenLoggerWithBurstFileConfig_shouldLogToJsonFile() throws Exception {
Logger logger = contextRule.getLogger(getClass().getSimpleName());
final int count = 88;
for (int i = 0; i < count; i++) {
logger.info("This is burst JSON message #{} at INFO level.", count);
TimeUnit.MILLISECONDS.sleep(100);
}
long logEventsCount = Files.lines(Paths.get("target/logfile-burst.json")).count();
assertTrue(logEventsCount > 0 && logEventsCount < count);
}
}

@ -3,6 +3,7 @@
<Appenders>
<File name="JSONLogfileAppender" fileName="target/logfile.json">
<JSONLayout compact="true" eventEol="true"/>
<BurstFilter level="INFO" rate="2" maxBurst="10"/>
</File>
<Async name="AsyncAppender" bufferSize="80">
<AppenderRef ref="JSONLogfileAppender"/>

@ -2,9 +2,16 @@
<Configuration status="WARN" xmlns:xi="http://www.w3.org/2001/XInclude">
<Appenders>
<xi:include href="log4j2-includes/console-appender_pattern-layout_colored.xml"/>
<Console name="ConsoleRedAppender" target="SYSTEM_OUT">
<PatternLayout pattern="%style{%message}{red}%n"/>
<MarkerFilter marker="CONN_TRACE"/>
</Console>
</Appenders>
<Loggers>
<Root level="TRACE">
<Logger name="ConnTrace" level="TRACE" additivity="false">
<AppenderRef ref="ConsoleRedAppender"/>
</Logger>
<Root level="DEBUG">
<AppenderRef ref="ConsoleAppender"/>
</Root>
</Loggers>

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<File name="JSONLogfileAppender" fileName="target/logfile-burst.json">
<JSONLayout compact="true" eventEol="true"/>
<BurstFilter level="INFO" rate="2" maxBurst="10"/>
</File>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="JSONLogfileAppender"/>
</Root>
</Loggers>
</Configuration>