Package org.slf4j
Class LoggerFactory
- java.lang.Object
-
- org.slf4j.LoggerFactory
-
public final class LoggerFactory extends java.lang.ObjectTheLoggerFactoryis a utility class producing Loggers for various logging APIs, most notably for log4j, logback and JDK 1.4 logging. Other implementations such asNOPLoggerandSimpleLoggerare also supported.LoggerFactoryis essentially a wrapper around anILoggerFactoryinstance bound withLoggerFactoryat compile time. Please note that all methods inLoggerFactoryare static.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]API_COMPATIBILITY_LISTIt is LoggerFactory's responsibility to track version changes and manage the compatibility list.(package private) static java.lang.StringCODES_PREFIX(package private) static booleanDETECT_LOGGER_NAME_MISMATCH(package private) static java.lang.StringDETECT_LOGGER_NAME_MISMATCH_PROPERTY(package private) static intFAILED_INITIALIZATION(package private) static intINITIALIZATION_STATE(package private) static java.lang.StringJAVA_VENDOR_PROPERTY(package private) static java.lang.StringLOGGER_NAME_MISMATCH_URL(package private) static java.lang.StringMULTIPLE_BINDINGS_URL(package private) static java.lang.StringNO_STATICLOGGERBINDER_URL(package private) static NOPLoggerFactoryNOP_FALLBACK_FACTORY(package private) static intNOP_FALLBACK_INITIALIZATION(package private) static java.lang.StringNULL_LF_URL(package private) static intONGOING_INITIALIZATION(package private) static java.lang.StringREPLAY_URLprivate static java.lang.StringSTATIC_LOGGER_BINDER_PATH(package private) static SubstituteLoggerFactorySUBST_FACTORY(package private) static java.lang.StringSUBSTITUTE_LOGGER_URL(package private) static intSUCCESSFUL_INITIALIZATION(package private) static intUNINITIALIZED(package private) static java.lang.StringUNSUCCESSFUL_INIT_MSG(package private) static java.lang.StringUNSUCCESSFUL_INIT_URL(package private) static java.lang.StringVERSION_MISMATCH
-
Constructor Summary
Constructors Modifier Constructor Description privateLoggerFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidbind()private static voidemitReplayOrSubstituionWarning(SubstituteLoggingEvent event, int queueSize)private static voidemitReplayWarning(int eventCount)private static voidemitSubstitutionWarning()(package private) static voidfailedBinding(java.lang.Throwable t)(package private) static java.util.Set<java.net.URL>findPossibleStaticLoggerBinderPathSet()private static voidfixSubstituteLoggers()static ILoggerFactorygetILoggerFactory()Return theILoggerFactoryinstance in use.static LoggergetLogger(java.lang.Class<?> clazz)Return a logger named corresponding to the class passed as parameter, using the statically boundILoggerFactoryinstance.static LoggergetLogger(java.lang.String name)Return a logger named according to the name parameter using the statically boundILoggerFactoryinstance.private static booleanisAmbiguousStaticLoggerBinderPathSet(java.util.Set<java.net.URL> binderPathSet)private static booleanisAndroid()private static booleanmessageContainsOrgSlf4jImplStaticLoggerBinder(java.lang.String msg)private static booleannonMatchingClasses(java.lang.Class<?> clazz, java.lang.Class<?> autoComputedCallingClass)private static voidperformInitialization()private static voidreplayEvents()private static voidreplaySingleEvent(SubstituteLoggingEvent event)private static voidreportActualBinding(java.util.Set<java.net.URL> binderPathSet)private static voidreportMultipleBindingAmbiguity(java.util.Set<java.net.URL> binderPathSet)Prints a warning message on the console if multiple bindings were found on the class path.(package private) static voidreset()Force LoggerFactory to consider itself uninitialized.private static voidversionSanityCheck()
-
-
-
Field Detail
-
CODES_PREFIX
static final java.lang.String CODES_PREFIX
- See Also:
- Constant Field Values
-
NO_STATICLOGGERBINDER_URL
static final java.lang.String NO_STATICLOGGERBINDER_URL
- See Also:
- Constant Field Values
-
MULTIPLE_BINDINGS_URL
static final java.lang.String MULTIPLE_BINDINGS_URL
- See Also:
- Constant Field Values
-
NULL_LF_URL
static final java.lang.String NULL_LF_URL
- See Also:
- Constant Field Values
-
VERSION_MISMATCH
static final java.lang.String VERSION_MISMATCH
- See Also:
- Constant Field Values
-
SUBSTITUTE_LOGGER_URL
static final java.lang.String SUBSTITUTE_LOGGER_URL
- See Also:
- Constant Field Values
-
LOGGER_NAME_MISMATCH_URL
static final java.lang.String LOGGER_NAME_MISMATCH_URL
- See Also:
- Constant Field Values
-
REPLAY_URL
static final java.lang.String REPLAY_URL
- See Also:
- Constant Field Values
-
UNSUCCESSFUL_INIT_URL
static final java.lang.String UNSUCCESSFUL_INIT_URL
- See Also:
- Constant Field Values
-
UNSUCCESSFUL_INIT_MSG
static final java.lang.String UNSUCCESSFUL_INIT_MSG
- See Also:
- Constant Field Values
-
UNINITIALIZED
static final int UNINITIALIZED
- See Also:
- Constant Field Values
-
ONGOING_INITIALIZATION
static final int ONGOING_INITIALIZATION
- See Also:
- Constant Field Values
-
FAILED_INITIALIZATION
static final int FAILED_INITIALIZATION
- See Also:
- Constant Field Values
-
SUCCESSFUL_INITIALIZATION
static final int SUCCESSFUL_INITIALIZATION
- See Also:
- Constant Field Values
-
NOP_FALLBACK_INITIALIZATION
static final int NOP_FALLBACK_INITIALIZATION
- See Also:
- Constant Field Values
-
INITIALIZATION_STATE
static volatile int INITIALIZATION_STATE
-
SUBST_FACTORY
static final SubstituteLoggerFactory SUBST_FACTORY
-
NOP_FALLBACK_FACTORY
static final NOPLoggerFactory NOP_FALLBACK_FACTORY
-
DETECT_LOGGER_NAME_MISMATCH_PROPERTY
static final java.lang.String DETECT_LOGGER_NAME_MISMATCH_PROPERTY
- See Also:
- Constant Field Values
-
JAVA_VENDOR_PROPERTY
static final java.lang.String JAVA_VENDOR_PROPERTY
- See Also:
- Constant Field Values
-
DETECT_LOGGER_NAME_MISMATCH
static boolean DETECT_LOGGER_NAME_MISMATCH
-
API_COMPATIBILITY_LIST
private static final java.lang.String[] API_COMPATIBILITY_LIST
It is LoggerFactory's responsibility to track version changes and manage the compatibility list. It is assumed that all versions in the 1.6 are mutually compatible.
-
STATIC_LOGGER_BINDER_PATH
private static java.lang.String STATIC_LOGGER_BINDER_PATH
-
-
Method Detail
-
reset
static void reset()
Force LoggerFactory to consider itself uninitialized. This method is intended to be called by classes (in the same package) for testing purposes. This method is internal. It can be modified, renamed or removed at any time without notice. You are strongly discouraged from calling this method in production code.
-
performInitialization
private static final void performInitialization()
-
messageContainsOrgSlf4jImplStaticLoggerBinder
private static boolean messageContainsOrgSlf4jImplStaticLoggerBinder(java.lang.String msg)
-
bind
private static final void bind()
-
fixSubstituteLoggers
private static void fixSubstituteLoggers()
-
failedBinding
static void failedBinding(java.lang.Throwable t)
-
replayEvents
private static void replayEvents()
-
emitReplayOrSubstituionWarning
private static void emitReplayOrSubstituionWarning(SubstituteLoggingEvent event, int queueSize)
-
replaySingleEvent
private static void replaySingleEvent(SubstituteLoggingEvent event)
-
emitSubstitutionWarning
private static void emitSubstitutionWarning()
-
emitReplayWarning
private static void emitReplayWarning(int eventCount)
-
versionSanityCheck
private static final void versionSanityCheck()
-
findPossibleStaticLoggerBinderPathSet
static java.util.Set<java.net.URL> findPossibleStaticLoggerBinderPathSet()
-
isAmbiguousStaticLoggerBinderPathSet
private static boolean isAmbiguousStaticLoggerBinderPathSet(java.util.Set<java.net.URL> binderPathSet)
-
reportMultipleBindingAmbiguity
private static void reportMultipleBindingAmbiguity(java.util.Set<java.net.URL> binderPathSet)
Prints a warning message on the console if multiple bindings were found on the class path. No reporting is done otherwise.
-
isAndroid
private static boolean isAndroid()
-
reportActualBinding
private static void reportActualBinding(java.util.Set<java.net.URL> binderPathSet)
-
getLogger
public static Logger getLogger(java.lang.String name)
Return a logger named according to the name parameter using the statically boundILoggerFactoryinstance.- Parameters:
name- The name of the logger.- Returns:
- logger
-
getLogger
public static Logger getLogger(java.lang.Class<?> clazz)
Return a logger named corresponding to the class passed as parameter, using the statically boundILoggerFactoryinstance.In case the the
clazzparameter differs from the name of the caller as computed internally by SLF4J, a logger name mismatch warning will be printed but only if theslf4j.detectLoggerNameMismatchsystem property is set to true. By default, this property is not set and no warnings will be printed even in case of a logger name mismatch.- Parameters:
clazz- the returned logger will be named after clazz- Returns:
- logger
- See Also:
- Detected logger name mismatch
-
nonMatchingClasses
private static boolean nonMatchingClasses(java.lang.Class<?> clazz, java.lang.Class<?> autoComputedCallingClass)
-
getILoggerFactory
public static ILoggerFactory getILoggerFactory()
Return theILoggerFactoryinstance in use. ILoggerFactory instance is bound with this class at compile time.- Returns:
- the ILoggerFactory instance in use
-
-