Skip to content

Commit 06df6ea

Browse files
committed
addtional turbofilter test using the fluent api
Signed-off-by: Ceki Gulcu <[email protected]>
1 parent e407820 commit 06df6ea

File tree

1 file changed

+49
-12
lines changed

1 file changed

+49
-12
lines changed

logback-classic/src/test/java/ch/qos/logback/classic/TurboFilteringInLoggerTest.java

Lines changed: 49 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,16 @@
1313
*/
1414
package ch.qos.logback.classic;
1515

16+
import ch.qos.logback.classic.spi.ILoggingEvent;
17+
import ch.qos.logback.classic.turbo.MDCFilter;
1618
import ch.qos.logback.classic.turbo.MarkerFilter;
1719
import ch.qos.logback.classic.turbo.TurboFilter;
20+
import ch.qos.logback.core.read.ListAppender;
1821
import ch.qos.logback.core.spi.FilterReply;
22+
import ch.qos.logback.core.testUtil.RandomUtil;
1923
import org.junit.jupiter.api.BeforeEach;
2024
import org.junit.jupiter.api.Test;
25+
import org.slf4j.MDC;
2126
import org.slf4j.Marker;
2227
import org.slf4j.MarkerFactory;
2328

@@ -29,44 +34,66 @@
2934
public class TurboFilteringInLoggerTest {
3035

3136
static final String BLUE = "BLUE";
32-
LoggerContext context;
37+
LoggerContext loggerContext;
3338
Logger logger;
3439
Marker blueMarker = MarkerFactory.getMarker(BLUE);
3540

41+
int diff = RandomUtil.getPositiveInt();
42+
String key = "tfiolKey" + diff;
43+
String value = "val" + diff;
44+
45+
ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
46+
47+
MDCFilter mdcFilter = new MDCFilter();
3648
@BeforeEach
3749
public void setUp() throws Exception {
38-
context = new LoggerContext();
39-
context.setName("test");
40-
context.start();
41-
logger = context.getLogger(TurboFilteringInLoggerTest.class);
50+
loggerContext = new LoggerContext();
51+
loggerContext.setName("test");
52+
loggerContext.start();
53+
logger = loggerContext.getLogger(TurboFilteringInLoggerTest.class);
54+
55+
Logger root = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
56+
root.setLevel(Level.ERROR);
57+
listAppender.start();
58+
root.addAppender(listAppender);
59+
4260
}
4361

62+
private void addMDCFilter() {
63+
64+
mdcFilter.setOnMatch("ACCEPT");
65+
mdcFilter.setOnMismatch("DENY");
66+
mdcFilter.setMDCKey(key);
67+
mdcFilter.setValue(value);
68+
mdcFilter.start();
69+
loggerContext.addTurboFilter(mdcFilter);
70+
}
4471
private void addYesFilter() {
4572
YesFilter filter = new YesFilter();
4673
filter.start();
47-
context.addTurboFilter(filter);
74+
loggerContext.addTurboFilter(filter);
4875
}
4976

5077
private void addNoFilter() {
5178
NoFilter filter = new NoFilter();
5279
filter.start();
53-
context.addTurboFilter(filter);
80+
loggerContext.addTurboFilter(filter);
5481
}
5582

5683
private void addAcceptBLUEFilter() {
5784
MarkerFilter filter = new MarkerFilter();
5885
filter.setMarker(BLUE);
5986
filter.setOnMatch("ACCEPT");
6087
filter.start();
61-
context.addTurboFilter(filter);
88+
loggerContext.addTurboFilter(filter);
6289
}
6390

6491
private void addDenyBLUEFilter() {
6592
MarkerFilter filter = new MarkerFilter();
6693
filter.setMarker(BLUE);
6794
filter.setOnMatch("DENY");
6895
filter.start();
69-
context.addTurboFilter(filter);
96+
loggerContext.addTurboFilter(filter);
7097
}
7198

7299
@Test
@@ -156,11 +183,21 @@ public void testIsErrorEnabledWithDenyBlueFilter() {
156183
@Test
157184
public void testLoggingContextReset() {
158185
addYesFilter();
159-
assertNotNull(context.getTurboFilterList().get(0));
160-
context.reset();
161-
assertEquals(0, context.getTurboFilterList().size());
186+
assertNotNull(loggerContext.getTurboFilterList().get(0));
187+
loggerContext.reset();
188+
assertEquals(0, loggerContext.getTurboFilterList().size());
162189
}
163190

191+
@Test
192+
public void fluentAPI() {
193+
addMDCFilter();
194+
Logger logger = loggerContext.getLogger(this.getClass());
195+
logger.atDebug().log("hello 1");
196+
assertEquals(0, listAppender.list.size());
197+
MDC.put(key, value);
198+
logger.atDebug().log("hello 2");
199+
assertEquals(1, listAppender.list.size());
200+
}
164201
}
165202

166203
class YesFilter extends TurboFilter {

0 commit comments

Comments
 (0)