• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.slf4j.reload4j;
2 
3 import org.apache.log4j.Level;
4 import org.slf4j.ILoggerFactory;
5 import org.slf4j.IMarkerFactory;
6 import org.slf4j.helpers.BasicMarkerFactory;
7 import org.slf4j.helpers.Reporter;
8 import org.slf4j.helpers.Util;
9 import org.slf4j.spi.MDCAdapter;
10 import org.slf4j.spi.SLF4JServiceProvider;
11 
12 public class Reload4jServiceProvider implements SLF4JServiceProvider {
13 
14     /**
15      * Declare the version of the SLF4J API this implementation is compiled against.
16      * The value of this field is modified with each major release.
17      */
18     // to avoid constant folding by the compiler, this field must *not* be final
19     public static String REQUESTED_API_VERSION = "2.0.99"; // !final
20 
21     private ILoggerFactory loggerFactory;
22     private IMarkerFactory markerFactory;
23     private MDCAdapter mdcAdapter;
24 
Reload4jServiceProvider()25     public Reload4jServiceProvider() {
26         try {
27             @SuppressWarnings("unused")
28             Level level = Level.TRACE;
29         } catch (NoSuchFieldError nsfe) {
30             Reporter.error("This version of SLF4J requires log4j version 1.2.12 or later. See also http://www.slf4j.org/codes.html#log4j_version");
31         }
32     }
33 
34     @Override
initialize()35     public void initialize() {
36         loggerFactory = new Reload4jLoggerFactory();
37         markerFactory = new BasicMarkerFactory();
38         mdcAdapter = new Reload4jMDCAdapter();
39     }
40 
41     @Override
getLoggerFactory()42     public ILoggerFactory getLoggerFactory() {
43         return loggerFactory;
44     }
45 
46 
47     @Override
getMarkerFactory()48     public IMarkerFactory getMarkerFactory() {
49         return markerFactory;
50     }
51 
52 
53     @Override
getMDCAdapter()54     public MDCAdapter getMDCAdapter() {
55         return mdcAdapter;
56     }
57 
58     @Override
getRequestedApiVersion()59     public String getRequestedApiVersion() {
60         return REQUESTED_API_VERSION;
61     }
62 }
63