public final class LoggerFactory
extends java.lang.Object
LoggerFactory
is a utility class producing Loggers for
various logging APIs, most notably for log4j, logback and JDK 1.4 logging.
Other implementations such as NOPLogger
and
SimpleLogger
are also supported.
LoggerFactory
is essentially a wrapper around an
ILoggerFactory
instance bound with LoggerFactory
at
compile time.
Please note that all methods in LoggerFactory
are static.Modifier and Type | Field and Description |
---|---|
private static java.lang.String[] |
API_COMPATIBILITY_LIST
It is LoggerFactory's responsibility to track version changes and manage
the compatibility list.
|
(package private) static java.lang.String |
CODES_PREFIX |
(package private) static boolean |
DETECT_LOGGER_NAME_MISMATCH |
(package private) static java.lang.String |
DETECT_LOGGER_NAME_MISMATCH_PROPERTY |
(package private) static int |
FAILED_INITIALIZATION |
(package private) static int |
INITIALIZATION_STATE |
(package private) static java.lang.String |
JAVA_VENDOR_PROPERTY |
(package private) static java.lang.String |
LOGGER_NAME_MISMATCH_URL |
(package private) static java.lang.String |
MULTIPLE_BINDINGS_URL |
(package private) static java.lang.String |
NO_STATICLOGGERBINDER_URL |
(package private) static NOPLoggerFactory |
NOP_FALLBACK_FACTORY |
(package private) static int |
NOP_FALLBACK_INITIALIZATION |
(package private) static java.lang.String |
NULL_LF_URL |
(package private) static int |
ONGOING_INITIALIZATION |
(package private) static java.lang.String |
REPLAY_URL |
private static java.lang.String |
STATIC_LOGGER_BINDER_PATH |
(package private) static SubstituteLoggerFactory |
SUBST_FACTORY |
(package private) static java.lang.String |
SUBSTITUTE_LOGGER_URL |
(package private) static int |
SUCCESSFUL_INITIALIZATION |
(package private) static int |
UNINITIALIZED |
(package private) static java.lang.String |
UNSUCCESSFUL_INIT_MSG |
(package private) static java.lang.String |
UNSUCCESSFUL_INIT_URL |
(package private) static java.lang.String |
VERSION_MISMATCH |
Modifier | Constructor and Description |
---|---|
private |
LoggerFactory() |
Modifier and Type | Method and Description |
---|---|
private static void |
bind() |
private static void |
emitReplayOrSubstituionWarning(SubstituteLoggingEvent event,
int queueSize) |
private static void |
emitReplayWarning(int eventCount) |
private static void |
emitSubstitutionWarning() |
(package private) static void |
failedBinding(java.lang.Throwable t) |
(package private) static java.util.Set<java.net.URL> |
findPossibleStaticLoggerBinderPathSet() |
private static void |
fixSubstituteLoggers() |
static ILoggerFactory |
getILoggerFactory()
Return the
ILoggerFactory instance in use. |
static Logger |
getLogger(java.lang.Class<?> clazz)
Return a logger named corresponding to the class passed as parameter,
using the statically bound
ILoggerFactory instance. |
static Logger |
getLogger(java.lang.String name)
Return a logger named according to the name parameter using the
statically bound
ILoggerFactory instance. |
private static boolean |
isAmbiguousStaticLoggerBinderPathSet(java.util.Set<java.net.URL> binderPathSet) |
private static boolean |
isAndroid() |
private static boolean |
messageContainsOrgSlf4jImplStaticLoggerBinder(java.lang.String msg) |
private static boolean |
nonMatchingClasses(java.lang.Class<?> clazz,
java.lang.Class<?> autoComputedCallingClass) |
private static void |
performInitialization() |
private static void |
replayEvents() |
private static void |
replaySingleEvent(SubstituteLoggingEvent event) |
private static void |
reportActualBinding(java.util.Set<java.net.URL> binderPathSet) |
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.
|
(package private) static void |
reset()
Force LoggerFactory to consider itself uninitialized.
|
private static void |
versionSanityCheck() |
static final java.lang.String CODES_PREFIX
static final java.lang.String NO_STATICLOGGERBINDER_URL
static final java.lang.String MULTIPLE_BINDINGS_URL
static final java.lang.String NULL_LF_URL
static final java.lang.String VERSION_MISMATCH
static final java.lang.String SUBSTITUTE_LOGGER_URL
static final java.lang.String LOGGER_NAME_MISMATCH_URL
static final java.lang.String REPLAY_URL
static final java.lang.String UNSUCCESSFUL_INIT_URL
static final java.lang.String UNSUCCESSFUL_INIT_MSG
static final int UNINITIALIZED
static final int ONGOING_INITIALIZATION
static final int FAILED_INITIALIZATION
static final int SUCCESSFUL_INITIALIZATION
static final int NOP_FALLBACK_INITIALIZATION
static volatile int INITIALIZATION_STATE
static final SubstituteLoggerFactory SUBST_FACTORY
static final NOPLoggerFactory NOP_FALLBACK_FACTORY
static final java.lang.String DETECT_LOGGER_NAME_MISMATCH_PROPERTY
static final java.lang.String JAVA_VENDOR_PROPERTY
static boolean DETECT_LOGGER_NAME_MISMATCH
private static final java.lang.String[] API_COMPATIBILITY_LIST
private static java.lang.String STATIC_LOGGER_BINDER_PATH
static void reset()
private static final void performInitialization()
private static boolean messageContainsOrgSlf4jImplStaticLoggerBinder(java.lang.String msg)
private static final void bind()
private static void fixSubstituteLoggers()
static void failedBinding(java.lang.Throwable t)
private static void replayEvents()
private static void emitReplayOrSubstituionWarning(SubstituteLoggingEvent event, int queueSize)
private static void replaySingleEvent(SubstituteLoggingEvent event)
private static void emitSubstitutionWarning()
private static void emitReplayWarning(int eventCount)
private static final void versionSanityCheck()
static java.util.Set<java.net.URL> findPossibleStaticLoggerBinderPathSet()
private static boolean isAmbiguousStaticLoggerBinderPathSet(java.util.Set<java.net.URL> binderPathSet)
private static void reportMultipleBindingAmbiguity(java.util.Set<java.net.URL> binderPathSet)
private static boolean isAndroid()
private static void reportActualBinding(java.util.Set<java.net.URL> binderPathSet)
public static Logger getLogger(java.lang.String name)
ILoggerFactory
instance.name
- The name of the logger.public static Logger getLogger(java.lang.Class<?> clazz)
ILoggerFactory
instance.
In case the the clazz
parameter differs from the name of the
caller as computed internally by SLF4J, a logger name mismatch warning
will be printed but only if the
slf4j.detectLoggerNameMismatch
system 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.
clazz
- the returned logger will be named after clazzprivate static boolean nonMatchingClasses(java.lang.Class<?> clazz, java.lang.Class<?> autoComputedCallingClass)
public static ILoggerFactory getILoggerFactory()
ILoggerFactory
instance in use.
ILoggerFactory instance is bound with this class at compile time.