public final class Logger extends java.lang.Object implements org.slf4j.Logger, org.slf4j.spi.LocationAwareLogger, AppenderAttachable<ILoggingEvent>, java.io.Serializable
| Modifier and Type | Field and Description |
|---|---|
private AppenderAttachableImpl<ILoggingEvent> |
aai
It is assumed that once the 'aai' variable is set to a non-null value, it
will never be reset to null.
|
private boolean |
additive
Additivity is set to true by default, that is children inherit the
appenders of their ancestors by default.
|
private java.util.List<Logger> |
childrenList
The children of this logger.
|
private int |
effectiveLevelInt |
static java.lang.String |
FQCN
The fully qualified name of this class.
|
private Level |
level |
(package private) LoggerContext |
loggerContext |
private java.lang.String |
name
The name of this logger
|
private Logger |
parent
The parent of this category.
|
private static long |
serialVersionUID |
| Constructor and Description |
|---|
Logger(java.lang.String name,
Logger parent,
LoggerContext loggerContext) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAppender(Appender<ILoggingEvent> newAppender)
Add an appender.
|
private int |
appendLoopOnAppenders(ILoggingEvent event) |
private void |
buildLoggingEventAndAppend(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object[] params,
java.lang.Throwable t) |
void |
callAppenders(ILoggingEvent event)
Invoke all the appenders of this logger.
|
private FilterReply |
callTurboFilters(org.slf4j.Marker marker,
Level level)
Method that calls the attached TurboFilter objects based on the logger and
the level.
|
(package private) Logger |
createChildByLastNamePart(java.lang.String lastPart)
Create a child of this logger by suffix, that is, the part of the name
extending this logger.
|
(package private) Logger |
createChildByName(java.lang.String childName)
The default size of child list arrays.
|
void |
debug(org.slf4j.Marker marker,
java.lang.String msg) |
void |
debug(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray) |
void |
debug(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg) |
void |
debug(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
debug(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t) |
void |
debug(java.lang.String msg) |
void |
debug(java.lang.String format,
java.lang.Object... argArray) |
void |
debug(java.lang.String format,
java.lang.Object arg) |
void |
debug(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
debug(java.lang.String msg,
java.lang.Throwable t) |
void |
detachAndStopAllAppenders()
Remove all previously added appenders from this logger instance.
|
boolean |
detachAppender(Appender<ILoggingEvent> appender)
Remove the appender passed as parameter form the list of appenders.
|
boolean |
detachAppender(java.lang.String name)
Detach the appender with the name passed as parameter from the list of
appenders.
|
void |
error(org.slf4j.Marker marker,
java.lang.String msg) |
void |
error(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray) |
void |
error(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg) |
void |
error(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
error(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t) |
void |
error(java.lang.String msg) |
void |
error(java.lang.String format,
java.lang.Object... argArray) |
void |
error(java.lang.String format,
java.lang.Object arg) |
void |
error(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
error(java.lang.String msg,
java.lang.Throwable t) |
private void |
filterAndLog_0_Or3Plus(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object[] params,
java.lang.Throwable t)
The next methods are not merged into one because of the time we gain by not
creating a new Object[] with the params.
|
private void |
filterAndLog_1(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object param,
java.lang.Throwable t) |
private void |
filterAndLog_2(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object param1,
java.lang.Object param2,
java.lang.Throwable t) |
Appender<ILoggingEvent> |
getAppender(java.lang.String name)
Get an appender by name.
|
(package private) Logger |
getChildByName(java.lang.String childName) |
Level |
getEffectiveLevel() |
(package private) int |
getEffectiveLevelInt() |
Level |
getLevel() |
LoggerContext |
getLoggerContext()
Return the context for this logger.
|
java.lang.String |
getName() |
private void |
handleParentLevelChange(int newParentLevelInt)
This method is invoked by parent logger to let this logger know that the
prent's levelInt changed.
|
void |
info(org.slf4j.Marker marker,
java.lang.String msg) |
void |
info(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray) |
void |
info(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg) |
void |
info(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
info(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t) |
void |
info(java.lang.String msg) |
void |
info(java.lang.String format,
java.lang.Object... argArray) |
void |
info(java.lang.String format,
java.lang.Object arg) |
void |
info(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
info(java.lang.String msg,
java.lang.Throwable t) |
boolean |
isAdditive() |
boolean |
isAttached(Appender<ILoggingEvent> appender)
Returns
true if the specified appender is in list of
attached attached, false otherwise. |
boolean |
isDebugEnabled() |
boolean |
isDebugEnabled(org.slf4j.Marker marker) |
boolean |
isEnabledFor(Level level) |
boolean |
isEnabledFor(org.slf4j.Marker marker,
Level level) |
boolean |
isErrorEnabled() |
boolean |
isErrorEnabled(org.slf4j.Marker marker) |
boolean |
isInfoEnabled() |
boolean |
isInfoEnabled(org.slf4j.Marker marker) |
private boolean |
isRootLogger() |
boolean |
isTraceEnabled() |
boolean |
isTraceEnabled(org.slf4j.Marker marker) |
boolean |
isWarnEnabled() |
boolean |
isWarnEnabled(org.slf4j.Marker marker) |
java.util.Iterator<Appender<ILoggingEvent>> |
iteratorForAppenders()
Get an iterator for appenders contained in the parent object.
|
private void |
localLevelReset() |
void |
log(org.slf4j.event.LoggingEvent slf4jEvent)
Support SLF4J interception during initialization as introduced in SLF4J version 1.7.15
|
void |
log(org.slf4j.Marker marker,
java.lang.String fqcn,
int levelInt,
java.lang.String message,
java.lang.Object[] argArray,
java.lang.Throwable t) |
protected java.lang.Object |
readResolve()
After serialization, the logger instance does not know its LoggerContext.
|
(package private) void |
recursiveReset() |
void |
setAdditive(boolean additive) |
void |
setLevel(Level newLevel) |
java.lang.String |
toString() |
void |
trace(org.slf4j.Marker marker,
java.lang.String msg) |
void |
trace(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray) |
void |
trace(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg) |
void |
trace(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
trace(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t) |
void |
trace(java.lang.String msg) |
void |
trace(java.lang.String format,
java.lang.Object... argArray) |
void |
trace(java.lang.String format,
java.lang.Object arg) |
void |
trace(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
trace(java.lang.String msg,
java.lang.Throwable t) |
void |
warn(org.slf4j.Marker marker,
java.lang.String msg) |
void |
warn(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray) |
void |
warn(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg) |
void |
warn(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
warn(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t) |
void |
warn(java.lang.String msg) |
void |
warn(java.lang.String format,
java.lang.Object... argArray) |
void |
warn(java.lang.String format,
java.lang.Object arg) |
void |
warn(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
warn(java.lang.String msg,
java.lang.Throwable t) |
private static final long serialVersionUID
public static final java.lang.String FQCN
private java.lang.String name
private transient Level level
private transient int effectiveLevelInt
private transient Logger parent
private transient java.util.List<Logger> childrenList
private transient AppenderAttachableImpl<ILoggingEvent> aai
It is further assumed that the AppenderAttachableImpl is responsible for its internal synchronization and thread safety. Thus, we can get away with *not* synchronizing on the 'aai' (check null/ read) because
1) the 'aai' variable is immutable once set to non-null
2) 'aai' is getAndSet only within addAppender which is synchronized
3) all the other methods check whether 'aai' is null
4) AppenderAttachableImpl is thread safe
private transient boolean additive
false then the appenders located in the ancestors of this
logger will not be used. However, the children of this logger will inherit
its appenders, unless the children have their additivity flag set to
false too. See the user manual for more details.final transient LoggerContext loggerContext
Logger(java.lang.String name,
Logger parent,
LoggerContext loggerContext)
public Level getEffectiveLevel()
int getEffectiveLevelInt()
public Level getLevel()
public java.lang.String getName()
getName in interface org.slf4j.Loggerprivate boolean isRootLogger()
Logger getChildByName(java.lang.String childName)
public void setLevel(Level newLevel)
private void handleParentLevelChange(int newParentLevelInt)
newParentLevelInt - public void detachAndStopAllAppenders()
detachAndStopAllAppenders in interface AppenderAttachable<ILoggingEvent>public boolean detachAppender(java.lang.String name)
AppenderAttachabledetachAppender in interface AppenderAttachable<ILoggingEvent>public void addAppender(Appender<ILoggingEvent> newAppender)
AppenderAttachableaddAppender in interface AppenderAttachable<ILoggingEvent>public boolean isAttached(Appender<ILoggingEvent> appender)
AppenderAttachabletrue if the specified appender is in list of
attached attached, false otherwise.isAttached in interface AppenderAttachable<ILoggingEvent>public java.util.Iterator<Appender<ILoggingEvent>> iteratorForAppenders()
AppenderAttachableiteratorForAppenders in interface AppenderAttachable<ILoggingEvent>public Appender<ILoggingEvent> getAppender(java.lang.String name)
AppenderAttachablegetAppender in interface AppenderAttachable<ILoggingEvent>public void callAppenders(ILoggingEvent event)
event - The event to logprivate int appendLoopOnAppenders(ILoggingEvent event)
public boolean detachAppender(Appender<ILoggingEvent> appender)
detachAppender in interface AppenderAttachable<ILoggingEvent>Logger createChildByLastNamePart(java.lang.String lastPart)
IMPORTANT: Calls to this method must be within a synchronized block on this logger.
lastPart - the suffix (i.e. last part) of the child logger name. This
parameter may not include dots, i.e. the logger separator
character.private void localLevelReset()
void recursiveReset()
Logger createChildByName(java.lang.String childName)
private void filterAndLog_0_Or3Plus(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object[] params,
java.lang.Throwable t)
private void filterAndLog_1(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object param,
java.lang.Throwable t)
private void filterAndLog_2(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object param1,
java.lang.Object param2,
java.lang.Throwable t)
private void buildLoggingEventAndAppend(java.lang.String localFQCN,
org.slf4j.Marker marker,
Level level,
java.lang.String msg,
java.lang.Object[] params,
java.lang.Throwable t)
public void trace(java.lang.String msg)
trace in interface org.slf4j.Loggerpublic void trace(java.lang.String format,
java.lang.Object arg)
trace in interface org.slf4j.Loggerpublic void trace(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
trace in interface org.slf4j.Loggerpublic void trace(java.lang.String format,
java.lang.Object... argArray)
trace in interface org.slf4j.Loggerpublic void trace(java.lang.String msg,
java.lang.Throwable t)
trace in interface org.slf4j.Loggerpublic void trace(org.slf4j.Marker marker,
java.lang.String msg)
trace in interface org.slf4j.Loggerpublic void trace(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg)
trace in interface org.slf4j.Loggerpublic void trace(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
trace in interface org.slf4j.Loggerpublic void trace(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray)
trace in interface org.slf4j.Loggerpublic void trace(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t)
trace in interface org.slf4j.Loggerpublic boolean isDebugEnabled()
isDebugEnabled in interface org.slf4j.Loggerpublic boolean isDebugEnabled(org.slf4j.Marker marker)
isDebugEnabled in interface org.slf4j.Loggerpublic void debug(java.lang.String msg)
debug in interface org.slf4j.Loggerpublic void debug(java.lang.String format,
java.lang.Object arg)
debug in interface org.slf4j.Loggerpublic void debug(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
debug in interface org.slf4j.Loggerpublic void debug(java.lang.String format,
java.lang.Object... argArray)
debug in interface org.slf4j.Loggerpublic void debug(java.lang.String msg,
java.lang.Throwable t)
debug in interface org.slf4j.Loggerpublic void debug(org.slf4j.Marker marker,
java.lang.String msg)
debug in interface org.slf4j.Loggerpublic void debug(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg)
debug in interface org.slf4j.Loggerpublic void debug(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
debug in interface org.slf4j.Loggerpublic void debug(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray)
debug in interface org.slf4j.Loggerpublic void debug(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t)
debug in interface org.slf4j.Loggerpublic void error(java.lang.String msg)
error in interface org.slf4j.Loggerpublic void error(java.lang.String format,
java.lang.Object arg)
error in interface org.slf4j.Loggerpublic void error(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
error in interface org.slf4j.Loggerpublic void error(java.lang.String format,
java.lang.Object... argArray)
error in interface org.slf4j.Loggerpublic void error(java.lang.String msg,
java.lang.Throwable t)
error in interface org.slf4j.Loggerpublic void error(org.slf4j.Marker marker,
java.lang.String msg)
error in interface org.slf4j.Loggerpublic void error(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg)
error in interface org.slf4j.Loggerpublic void error(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
error in interface org.slf4j.Loggerpublic void error(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray)
error in interface org.slf4j.Loggerpublic void error(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t)
error in interface org.slf4j.Loggerpublic boolean isInfoEnabled()
isInfoEnabled in interface org.slf4j.Loggerpublic boolean isInfoEnabled(org.slf4j.Marker marker)
isInfoEnabled in interface org.slf4j.Loggerpublic void info(java.lang.String msg)
info in interface org.slf4j.Loggerpublic void info(java.lang.String format,
java.lang.Object arg)
info in interface org.slf4j.Loggerpublic void info(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
info in interface org.slf4j.Loggerpublic void info(java.lang.String format,
java.lang.Object... argArray)
info in interface org.slf4j.Loggerpublic void info(java.lang.String msg,
java.lang.Throwable t)
info in interface org.slf4j.Loggerpublic void info(org.slf4j.Marker marker,
java.lang.String msg)
info in interface org.slf4j.Loggerpublic void info(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg)
info in interface org.slf4j.Loggerpublic void info(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
info in interface org.slf4j.Loggerpublic void info(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray)
info in interface org.slf4j.Loggerpublic void info(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t)
info in interface org.slf4j.Loggerpublic boolean isTraceEnabled()
isTraceEnabled in interface org.slf4j.Loggerpublic boolean isTraceEnabled(org.slf4j.Marker marker)
isTraceEnabled in interface org.slf4j.Loggerpublic boolean isErrorEnabled()
isErrorEnabled in interface org.slf4j.Loggerpublic boolean isErrorEnabled(org.slf4j.Marker marker)
isErrorEnabled in interface org.slf4j.Loggerpublic boolean isWarnEnabled()
isWarnEnabled in interface org.slf4j.Loggerpublic boolean isWarnEnabled(org.slf4j.Marker marker)
isWarnEnabled in interface org.slf4j.Loggerpublic boolean isEnabledFor(org.slf4j.Marker marker,
Level level)
public boolean isEnabledFor(Level level)
public void warn(java.lang.String msg)
warn in interface org.slf4j.Loggerpublic void warn(java.lang.String msg,
java.lang.Throwable t)
warn in interface org.slf4j.Loggerpublic void warn(java.lang.String format,
java.lang.Object arg)
warn in interface org.slf4j.Loggerpublic void warn(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
warn in interface org.slf4j.Loggerpublic void warn(java.lang.String format,
java.lang.Object... argArray)
warn in interface org.slf4j.Loggerpublic void warn(org.slf4j.Marker marker,
java.lang.String msg)
warn in interface org.slf4j.Loggerpublic void warn(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg)
warn in interface org.slf4j.Loggerpublic void warn(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object... argArray)
warn in interface org.slf4j.Loggerpublic void warn(org.slf4j.Marker marker,
java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2)
warn in interface org.slf4j.Loggerpublic void warn(org.slf4j.Marker marker,
java.lang.String msg,
java.lang.Throwable t)
warn in interface org.slf4j.Loggerpublic boolean isAdditive()
public void setAdditive(boolean additive)
public java.lang.String toString()
toString in class java.lang.Objectprivate FilterReply callTurboFilters(org.slf4j.Marker marker, Level level)
level - public LoggerContext getLoggerContext()
public void log(org.slf4j.Marker marker,
java.lang.String fqcn,
int levelInt,
java.lang.String message,
java.lang.Object[] argArray,
java.lang.Throwable t)
log in interface org.slf4j.spi.LocationAwareLoggerpublic void log(org.slf4j.event.LoggingEvent slf4jEvent)
slf4jEvent - protected java.lang.Object readResolve()
throws java.io.ObjectStreamException
java.io.ObjectStreamException