BAEL-41: Added including tests:

- burst filter
This commit is contained in:
Christian Rädel 2016-10-03 13:07:45 +02:00
parent 0bd7a5d0ea
commit 8bab22bdca
4 changed files with 50 additions and 3 deletions

View File

@ -26,6 +26,6 @@ public class AsyncFileAppenderUsingJsonLayoutTest {
logger.info("This is async JSON message #{} at INFO level.", count); logger.info("This is async JSON message #{} at INFO level.", count);
} }
long logEventsCount = Files.lines(Paths.get("target/logfile.json")).count(); long logEventsCount = Files.lines(Paths.get("target/logfile.json")).count();
assertTrue(logEventsCount == count); assertTrue(logEventsCount > 0 && logEventsCount <= count);
} }
} }

View File

@ -0,0 +1,33 @@
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);
}
}

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"> <Configuration status="WARN">
<Appenders> <Appenders>
<File name="JSONLogfile" fileName="target/logfile.json"> <File name="JSONLogfileAppender" fileName="target/logfile.json">
<JSONLayout compact="true" eventEol="true"/> <JSONLayout compact="true" eventEol="true"/>
</File> </File>
<Async name="AsyncAppender" bufferSize="80"> <Async name="AsyncAppender" bufferSize="80">
<AppenderRef ref="JSONLogfile"/> <AppenderRef ref="JSONLogfileAppender"/>
</Async> </Async>
</Appenders> </Appenders>
<Loggers> <Loggers>

View File

@ -0,0 +1,14 @@
<?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>