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
12 public class DoubleInitializationPitfallTest {
13
14
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 }