1 package org.slf4j.spi;
2
3 import org.slf4j.ILoggerFactory;
4 import org.slf4j.IMarkerFactory;
5 import org.slf4j.LoggerFactory;
6 import org.slf4j.MDC;
7
8 /**
9 * This interface based on {@link java.util.ServiceLoader} paradigm.
10 *
11 * <p>It replaces the old static-binding mechanism used in SLF4J versions 1.0.x to 1.7.x.
12 *
13 * @author Ceki G¨lc¨
14 * @since 1.8
15 */
16 public interface SLF4JServiceProvider {
17
18 /**
19 * Return the instance of {@link ILoggerFactory} that
20 * {@link org.slf4j.LoggerFactory} class should bind to.
21 *
22 * @return instance of {@link ILoggerFactory}
23 */
24 public ILoggerFactory getLoggerFactory();
25
26 /**
27 * Return the instance of {@link IMarkerFactory} that
28 * {@link org.slf4j.MarkerFactory} class should bind to.
29 *
30 * @return instance of {@link IMarkerFactory}
31 */
32 public IMarkerFactory getMarkerFactory();
33
34 /**
35 * Return the instance of {@link MDCAdapter} that
36 * {@link MDC} should bind to.
37 *
38 * @return instance of {@link MDCAdapter}
39 */
40 public MDCAdapter getMDCAdapter();
41
42 public String getRequestedApiVersion();
43
44 /**
45 * Initialize the logging back-end.
46 *
47 * <p><b>WARNING:</b> This method is intended to be called once by
48 * {@link LoggerFactory} class and from nowhere else.
49 *
50 */
51 public void initialize();
52 }