BAEL-41: Added including tests:

- thread context filter and pattern
This commit is contained in:
Christian Rädel 2016-10-04 02:28:27 +02:00
parent b04ede30f5
commit cf335e30a4
2 changed files with 20 additions and 0 deletions
logging/log4j2/src/test

@ -3,6 +3,7 @@ package com.baeldung.logging.log4j2.tests;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.MarkerManager; import org.apache.logging.log4j.MarkerManager;
import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.junit.LoggerContextRule; import org.apache.logging.log4j.junit.LoggerContextRule;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
@ -35,4 +36,14 @@ public class ConsoleAppenderUsingPatternLayoutWithColorsTest {
Marker connectionTrace = MarkerManager.getMarker("CONN_TRACE"); Marker connectionTrace = MarkerManager.getMarker("CONN_TRACE");
logger.trace(connectionTrace, "This is a marker message at TRACE level."); logger.trace(connectionTrace, "This is a marker message at TRACE level.");
} }
@Test
public void givenLoggerWithConsoleConfig_shouldFilterByThreadContext() throws Exception {
Logger logger = contextRule.getLogger("UserAudit");
ThreadContext.put("userId", "1000");
logger.info("This is a log-visible user login. Maybe from an admin account?");
ThreadContext.put("userId", "1001");
logger.info("This is a log-invisible user login.");
boolean b = true;
}
} }

@ -6,11 +6,20 @@
<PatternLayout pattern="%style{%message}{red}%n"/> <PatternLayout pattern="%style{%message}{red}%n"/>
<MarkerFilter marker="CONN_TRACE"/> <MarkerFilter marker="CONN_TRACE"/>
</Console> </Console>
<Console name="ConsoleGreenAppender" target="SYSTEM_OUT">
<PatternLayout pattern="%style{userId=%X{userId}:}{white} %style{%message}{green}%n"/>
</Console>
</Appenders> </Appenders>
<Loggers> <Loggers>
<Logger name="ConnTrace" level="TRACE" additivity="false"> <Logger name="ConnTrace" level="TRACE" additivity="false">
<AppenderRef ref="ConsoleRedAppender"/> <AppenderRef ref="ConsoleRedAppender"/>
</Logger> </Logger>
<Logger name="UserAudit" level="INFO" additivity="false">
<AppenderRef ref="ConsoleGreenAppender"/>
<ThreadContextMapFilter>
<KeyValuePair key="userId" value="1000"/>
</ThreadContextMapFilter>
</Logger>
<Root level="DEBUG"> <Root level="DEBUG">
<AppenderRef ref="ConsoleAppender"/> <AppenderRef ref="ConsoleAppender"/>
</Root> </Root>