View Javadoc
1   package org.slf4j.simple;
2   
3   import static org.junit.Assert.fail;
4   
5   import org.junit.Test;
6   import org.slf4j.ILoggerFactory;
7   import org.slf4j.LoggerFactory;
8   import org.slf4j.MDC;
9   import org.slf4j.MarkerFactory;
10  
11  // See https://jira.qos.ch/browse/SLF4J-463
12  public class DoubleInitializationPitfallTest {
13  
14      // See https://jira.qos.ch/browse/SLF4J-463
15      @Test
16      public void verifyImpactOfMarkerFactory() {
17          ILoggerFactory firstFactory = LoggerFactory.getILoggerFactory();
18          MarkerFactory.getMarker("DOUBLE_INIT");
19          ILoggerFactory secondFactory = LoggerFactory.getILoggerFactory();
20  
21          if (firstFactory != secondFactory) {
22              fail("MarkerFactory.getMarker causes multiple provider initialization");
23          }
24      }
25  
26      @Test
27      public void verifyImpactOfMDC() {
28          ILoggerFactory firstFactory = LoggerFactory.getILoggerFactory();
29          MDC.put("DoubleInitializationPitfallTest", "a");
30          ILoggerFactory secondFactory = LoggerFactory.getILoggerFactory();
31  
32          if (firstFactory != secondFactory) {
33              fail("MarkerFactory.getMarker causes multiple provider initialization");
34          }
35      }
36  
37  }