public class Logger extends AbstractLogger implements Supplier<LoggerConfig>
Logger
interface. Besides providing an implementation
of all the Logger methods, this class also provides some convenience methods for Log4j 1.x compatibility as well as
access to the Filters
and Appenders
associated with this Logger. Note that access to these underlying objects is provided primarily for use in
unit tests or bridging legacy Log4j 1.x code. Future versions of this class may or may not include the various
methods that are noted as not being part of the public API.
TODO All the isEnabled methods could be pushed into a filter interface. Not sure of the utility of having isEnabled
be able to examine the message pattern and parameters. (RG) Moving the isEnabled methods out of Logger noticeably
impacts performance. The message pattern and parameters are required so that they can be used in global filters.Modifier and Type | Class and Description |
---|---|
protected static class |
Logger.LoggerProxy
Serialization proxy class for Logger.
|
protected class |
Logger.PrivateConfig
The binding between a Logger and its configuration.
|
Modifier and Type | Field and Description |
---|---|
protected Logger.PrivateConfig |
privateConfig
Config should be consistent across threads.
|
CATCHING_MARKER, DEFAULT_FLOW_MESSAGE_FACTORY_CLASS, DEFAULT_MESSAGE_FACTORY_CLASS, ENTRY_MARKER, EXCEPTION_MARKER, EXIT_MARKER, FLOW_MARKER, name, THROWING_MARKER
Modifier | Constructor and Description |
---|---|
protected |
Logger(LoggerContext context,
String name,
MessageFactory messageFactory)
The constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addAppender(Appender appender)
This method is not exposed through the public API and is used primarily for unit testing.
|
void |
addFilter(Filter filter)
This method is not exposed through the public API and is used primarily for unit testing.
|
LogBuilder |
atLevel(Level level) |
boolean |
equals(Object o) |
int |
filterCount()
This method is not exposed through the public API and is used primarily for unit testing.
|
LoggerConfig |
get() |
Map<String,Appender> |
getAppenders()
This method is not exposed through the public API and is used primarily for unit testing.
|
LoggerContext |
getContext()
Returns the LoggerContext this Logger is associated with.
|
Iterator<Filter> |
getFilters()
This method is not exposed through the public API and is used primarily for unit testing.
|
Level |
getLevel()
Gets the Level associated with the Logger.
|
Logger |
getParent()
This method is only used for 1.x compatibility.
|
int |
hashCode() |
boolean |
isAdditive()
This method is not exposed through the public API and is present only to support the Log4j 1.2 compatibility
bridge.
|
boolean |
isEnabled(Level level,
Marker marker,
CharSequence message,
Throwable t) |
boolean |
isEnabled(Level level,
Marker marker,
Message message,
Throwable t) |
boolean |
isEnabled(Level level,
Marker marker,
Object message,
Throwable t) |
boolean |
isEnabled(Level level,
Marker marker,
String message) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object... params) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2,
Object p3) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2,
Object p3,
Object p4) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2,
Object p3,
Object p4,
Object p5) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2,
Object p3,
Object p4,
Object p5,
Object p6) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2,
Object p3,
Object p4,
Object p5,
Object p6,
Object p7) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2,
Object p3,
Object p4,
Object p5,
Object p6,
Object p7,
Object p8) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Object p0,
Object p1,
Object p2,
Object p3,
Object p4,
Object p5,
Object p6,
Object p7,
Object p8,
Object p9) |
boolean |
isEnabled(Level level,
Marker marker,
String message,
Throwable t) |
protected void |
log(Level level,
Marker marker,
String fqcn,
StackTraceElement location,
Message message,
Throwable throwable) |
void |
logMessage(String fqcn,
Level level,
Marker marker,
Message message,
Throwable t) |
void |
removeAppender(Appender appender)
This method is not exposed through the public API and is used primarily for unit testing.
|
protected boolean |
requiresLocation() |
void |
setAdditive(boolean additive)
This method is not exposed through the public API and is present only to support the Log4j 1.2 compatibility
bridge.
|
void |
setLevel(Level level)
This method is not exposed through the public API and is provided primarily for unit testing.
|
String |
toString()
Returns a String representation of this instance in the form
"name:level[ in context_name]" . |
protected void |
updateConfiguration(Configuration newConfig)
Associates this Logger with a new Configuration.
|
protected Object |
writeReplace() |
always, atDebug, atError, atFatal, atInfo, atTrace, atWarn, catching, catching, catching, catchingMsg, checkMessageFactory, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, enter, enter, enter, enter, enter, entry, entry, entry, entryMsg, entryMsg, entryMsg, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, error, exit, exit, exit, exit, exitMsg, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, fatal, getFlowMessageFactory, getLogBuilder, getMessageFactory, getName, getRecursionDepth, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, info, isDebugEnabled, isDebugEnabled, isEnabled, isEnabled, isErrorEnabled, isErrorEnabled, isFatalEnabled, isFatalEnabled, isInfoEnabled, isInfoEnabled, isTraceEnabled, isTraceEnabled, isWarnEnabled, isWarnEnabled, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, log, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logIfEnabled, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, logMessage, printf, printf, throwing, throwing, throwing, throwingMsg, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, traceEntry, traceEntry, traceEntry, traceEntry, traceEntry, traceExit, traceExit, traceExit, traceExit, traceExit, traceExit, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn
protected volatile Logger.PrivateConfig privateConfig
protected Logger(LoggerContext context, String name, MessageFactory messageFactory)
context
- The LoggerContext this Logger is associated with.messageFactory
- The message factory.name
- The name of the Logger.protected Object writeReplace() throws ObjectStreamException
ObjectStreamException
public Logger getParent()
public LoggerContext getContext()
public void setLevel(Level level)
If the new level is null, this logger inherits the level from its parent.
level
- The Level to use on this Logger, may be null.public LoggerConfig get()
get
in interface Supplier<LoggerConfig>
protected boolean requiresLocation()
requiresLocation
in class AbstractLogger
public void logMessage(String fqcn, Level level, Marker marker, Message message, Throwable t)
logMessage
in interface ExtendedLogger
protected void log(Level level, Marker marker, String fqcn, StackTraceElement location, Message message, Throwable throwable)
log
in class AbstractLogger
public boolean isEnabled(Level level, Marker marker, String message, Throwable t)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object... params)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, String message, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8, Object p9)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, CharSequence message, Throwable t)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, Object message, Throwable t)
isEnabled
in interface ExtendedLogger
public boolean isEnabled(Level level, Marker marker, Message message, Throwable t)
isEnabled
in interface ExtendedLogger
public void addAppender(Appender appender)
appender
- The Appender to add to the Logger.public void removeAppender(Appender appender)
appender
- The Appender to remove from the Logger.public Map<String,Appender> getAppenders()
public Iterator<Filter> getFilters()
public Level getLevel()
public int filterCount()
public void addFilter(Filter filter)
filter
- The Filter to add.public boolean isAdditive()
public void setAdditive(boolean additive)
additive
- Boolean value to indicate whether the Logger is additive or not.public LogBuilder atLevel(Level level)
atLevel
in interface Logger
atLevel
in class AbstractLogger
protected void updateConfiguration(Configuration newConfig)
There are two ways this could be used to guarantee all threads are aware of changes to config.
newConfig
- The new Configuration.public String toString()
"name:level[ in context_name]"
. Copyright © 1999-2023 The Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.