Interface Logger
- All Known Subinterfaces:
LocationAwareLogger
- All Known Implementing Classes:
AbstractLogger
,EventRecordingLogger
,JDK14LoggerAdapter
,LegacyAbstractLogger
,LocLogger
,LoggerWrapper
,MarkerIgnoringBase
,NOPLogger
,Reload4jLoggerAdapter
,SimpleLogger
,SubstituteLogger
,XLogger
Typical usage pattern:
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Wombat { final static Logger logger = LoggerFactory.getLogger(Wombat.class); Integer t; Integer oldT; public void setTemperature(Integer temperature) { oldT = t; t = temperature; logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT); if (temperature.intValue() > 50) { logger.info("Temperature has risen above 50 degrees."); } } }
Note that version 2.0 of the SLF4J API introduces a fluent api, the most significant API change to occur in the last 20 years.
Be sure to read the FAQ entry relating to parameterized logging. Note that logging statements can be parameterized in presence of an exception/throwable.
Once you are comfortable using loggers, i.e. instances of this interface, consider using MDC as well as Markers.
- Author:
- Ceki Gülcü
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Case-insensitive String constant used to retrieve the name of the root logger. -
Method Summary
Modifier and TypeMethodDescriptiondefault LoggingEventBuilder
atDebug()
Entry point for fluent-logging forLevel.DEBUG
level.default LoggingEventBuilder
atError()
Entry point for fluent-logging forLevel.ERROR
level.default LoggingEventBuilder
atInfo()
Entry point for fluent-logging forLevel.INFO
level.default LoggingEventBuilder
Make a newLoggingEventBuilder
instance as appropriate for this logger and the desiredLevel
passed as parameter.default LoggingEventBuilder
atTrace()
Entry point for fluent-logging forLevel.TRACE
level.default LoggingEventBuilder
atWarn()
Entry point for fluent-logging forLevel.WARN
level.void
Log a message at the DEBUG level.void
Log a message at the DEBUG level according to the specified format and argument.void
Log a message at the DEBUG level according to the specified format and arguments.void
Log a message at the DEBUG level according to the specified format and arguments.void
Log an exception (throwable) at the DEBUG level with an accompanying message.void
Log a message with the specific Marker at the DEBUG level.void
This method is similar todebug(String, Object)
method except that the marker data is also taken into consideration.void
This method is similar todebug(String, Object...)
method except that the marker data is also taken into consideration.void
This method is similar todebug(String, Object, Object)
method except that the marker data is also taken into consideration.void
This method is similar todebug(String, Throwable)
method except that the marker data is also taken into consideration.void
Log a message at the ERROR level.void
Log a message at the ERROR level according to the specified format and argument.void
Log a message at the ERROR level according to the specified format and arguments.void
Log a message at the ERROR level according to the specified format and arguments.void
Log an exception (throwable) at the ERROR level with an accompanying message.void
Log a message with the specific Marker at the ERROR level.void
This method is similar toerror(String, Object)
method except that the marker data is also taken into consideration.void
This method is similar toerror(String, Object...)
method except that the marker data is also taken into consideration.void
This method is similar toerror(String, Object, Object)
method except that the marker data is also taken into consideration.void
This method is similar toerror(String, Throwable)
method except that the marker data is also taken into consideration.getName()
Return the name of thisLogger
instance.void
Log a message at the INFO level.void
Log a message at the INFO level according to the specified format and argument.void
Log a message at the INFO level according to the specified format and arguments.void
Log a message at the INFO level according to the specified format and arguments.void
Log an exception (throwable) at the INFO level with an accompanying message.void
Log a message with the specific Marker at the INFO level.void
This method is similar toinfo(String, Object)
method except that the marker data is also taken into consideration.void
This method is similar toinfo(String, Object...)
method except that the marker data is also taken into consideration.void
This method is similar toinfo(String, Object, Object)
method except that the marker data is also taken into consideration.void
This method is similar toinfo(String, Throwable)
method except that the marker data is also taken into consideration.boolean
Is the logger instance enabled for the DEBUG level?boolean
isDebugEnabled
(Marker marker) Similar toisDebugEnabled()
method except that the marker data is also taken into account.default boolean
isEnabledForLevel
(Level level) Returns whether this Logger is enabled for a givenLevel
.boolean
Is the logger instance enabled for the ERROR level?boolean
isErrorEnabled
(Marker marker) Similar toisErrorEnabled()
method except that the marker data is also taken into consideration.boolean
Is the logger instance enabled for the INFO level?boolean
isInfoEnabled
(Marker marker) Similar toisInfoEnabled()
method except that the marker data is also taken into consideration.boolean
Is the logger instance enabled for the TRACE level?boolean
isTraceEnabled
(Marker marker) Similar toisTraceEnabled()
method except that the marker data is also taken into account.boolean
Is the logger instance enabled for the WARN level?boolean
isWarnEnabled
(Marker marker) Similar toisWarnEnabled()
method except that the marker data is also taken into consideration.default LoggingEventBuilder
makeLoggingEventBuilder
(Level level) Make a newLoggingEventBuilder
instance as appropriate for this logger implementation.void
Log a message at the TRACE level.void
Log a message at the TRACE level according to the specified format and argument.void
Log a message at the TRACE level according to the specified format and arguments.void
Log a message at the TRACE level according to the specified format and arguments.void
Log an exception (throwable) at the TRACE level with an accompanying message.void
Log a message with the specific Marker at the TRACE level.void
This method is similar totrace(String, Object)
method except that the marker data is also taken into consideration.void
This method is similar totrace(String, Object...)
method except that the marker data is also taken into consideration.void
This method is similar totrace(String, Object, Object)
method except that the marker data is also taken into consideration.void
This method is similar totrace(String, Throwable)
method except that the marker data is also taken into consideration.void
Log a message at the WARN level.void
Log a message at the WARN level according to the specified format and argument.void
Log a message at the WARN level according to the specified format and arguments.void
Log a message at the WARN level according to the specified format and arguments.void
Log an exception (throwable) at the WARN level with an accompanying message.void
Log a message with the specific Marker at the WARN level.void
This method is similar towarn(String, Object)
method except that the marker data is also taken into consideration.void
This method is similar towarn(String, Object...)
method except that the marker data is also taken into consideration.void
This method is similar towarn(String, Object, Object)
method except that the marker data is also taken into consideration.void
This method is similar towarn(String, Throwable)
method except that the marker data is also taken into consideration.
-
Field Details
-
ROOT_LOGGER_NAME
Case-insensitive String constant used to retrieve the name of the root logger.- Since:
- 1.3
- See Also:
-
-
Method Details
-
getName
Return the name of thisLogger
instance.- Returns:
- name of this logger instance
-
makeLoggingEventBuilder
Make a new
LoggingEventBuilder
instance as appropriate for this logger implementation. This default implementation always returns a new instance ofDefaultLoggingEventBuilder
.This method is intended to be used by logging systems implementing the SLF4J API and not by end users.
Also note that a
LoggingEventBuilder
instance should be built for all levels, independently of the level argument. In other words, this method is an unconditional constructor for theLoggingEventBuilder
appropriate for this logger implementation.- Parameters:
level
- desired level for the event builder- Returns:
- a new
LoggingEventBuilder
instance as appropriate for this logger - Since:
- 2.0
-
atLevel
Make a new
LoggingEventBuilder
instance as appropriate for this logger and the desiredLevel
passed as parameter. If this Logger is disabled for the given Level, then aNOPLoggingEventBuilder
is returned. This is the main optimization in the fluent API.- Parameters:
level
- desired level for the event builder- Returns:
- a new
LoggingEventBuilder
instance as appropriate for this logger - Since:
- 2.0
-
isEnabledForLevel
Returns whether this Logger is enabled for a givenLevel
.- Parameters:
level
-- Returns:
- true if enabled, false otherwise.
-
isTraceEnabled
boolean isTraceEnabled()Is the logger instance enabled for the TRACE level?- Returns:
- True if this Logger is enabled for the TRACE level, false otherwise.
- Since:
- 1.4
-
trace
Log a message at the TRACE level.- Parameters:
msg
- the message string to be logged- Since:
- 1.4
-
trace
Log a message at the TRACE level according to the specified format and argument.This form avoids superfluous object creation when the logger is disabled for the TRACE level.
- Parameters:
format
- the format stringarg
- the argument- Since:
- 1.4
-
trace
Log a message at the TRACE level according to the specified format and arguments.This form avoids superfluous object creation when the logger is disabled for the TRACE level.
- Parameters:
format
- the format stringarg1
- the first argumentarg2
- the second argument- Since:
- 1.4
-
trace
Log a message at the TRACE level according to the specified format and arguments.This form avoids superfluous string concatenation when the logger is disabled for the TRACE level. However, this variant incurs the hidden (and relatively small) cost of creating an
Object[]
before invoking the method, even if this logger is disabled for TRACE. The variants takingone
andtwo
arguments exist solely in order to avoid this hidden cost.- Parameters:
format
- the format stringarguments
- a list of 3 or more arguments- Since:
- 1.4
-
trace
Log an exception (throwable) at the TRACE level with an accompanying message.- Parameters:
msg
- the message accompanying the exceptiont
- the exception (throwable) to log- Since:
- 1.4
-
isTraceEnabled
Similar toisTraceEnabled()
method except that the marker data is also taken into account.- Parameters:
marker
- The marker data to take into consideration- Returns:
- True if this Logger is enabled for the TRACE level, false otherwise.
- Since:
- 1.4
-
atTrace
Entry point for fluent-logging forLevel.TRACE
level.If this logger is disabled for the TRACE level, then a
NOPLoggingEventBuilder
instance is returned. As the name indicates, this builder does not perform any operations. This is the main optimization in the fluent API.- Returns:
- LoggingEventBuilder instance as appropriate for level TRACE
- Since:
- 2.0
-
trace
Log a message with the specific Marker at the TRACE level.- Parameters:
marker
- the marker data specific to this log statementmsg
- the message string to be logged- Since:
- 1.4
-
trace
This method is similar totrace(String, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg
- the argument- Since:
- 1.4
-
trace
This method is similar totrace(String, Object, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg1
- the first argumentarg2
- the second argument- Since:
- 1.4
-
trace
This method is similar totrace(String, Object...)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringargArray
- an array of arguments- Since:
- 1.4
-
trace
This method is similar totrace(String, Throwable)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementmsg
- the message accompanying the exceptiont
- the exception (throwable) to log- Since:
- 1.4
-
isDebugEnabled
boolean isDebugEnabled()Is the logger instance enabled for the DEBUG level?- Returns:
- True if this Logger is enabled for the DEBUG level, false otherwise.
-
debug
Log a message at the DEBUG level.- Parameters:
msg
- the message string to be logged
-
debug
Log a message at the DEBUG level according to the specified format and argument.This form avoids superfluous object creation when the logger is disabled for the DEBUG level.
- Parameters:
format
- the format stringarg
- the argument
-
debug
Log a message at the DEBUG level according to the specified format and arguments.This form avoids superfluous object creation when the logger is disabled for the DEBUG level.
- Parameters:
format
- the format stringarg1
- the first argumentarg2
- the second argument
-
debug
Log a message at the DEBUG level according to the specified format and arguments.This form avoids superfluous string concatenation when the logger is disabled for the DEBUG level. However, this variant incurs the hidden (and relatively small) cost of creating an
Object[]
before invoking the method, even if this logger is disabled for DEBUG. The variants takingone
andtwo
arguments exist solely in order to avoid this hidden cost.- Parameters:
format
- the format stringarguments
- a list of 3 or more arguments
-
debug
Log an exception (throwable) at the DEBUG level with an accompanying message.- Parameters:
msg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
isDebugEnabled
Similar toisDebugEnabled()
method except that the marker data is also taken into account.- Parameters:
marker
- The marker data to take into consideration- Returns:
- True if this Logger is enabled for the DEBUG level, false otherwise.
-
debug
Log a message with the specific Marker at the DEBUG level.- Parameters:
marker
- the marker data specific to this log statementmsg
- the message string to be logged
-
debug
This method is similar todebug(String, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg
- the argument
-
debug
This method is similar todebug(String, Object, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg1
- the first argumentarg2
- the second argument
-
debug
This method is similar todebug(String, Object...)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarguments
- a list of 3 or more arguments
-
debug
This method is similar todebug(String, Throwable)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementmsg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
atDebug
Entry point for fluent-logging forLevel.DEBUG
level.If this logger is disabled for the DEBUG level, then a
NOPLoggingEventBuilder
instance is returned. As the name indicates, this builder does not perform any operations. This is the main optimization in the fluent API.- Returns:
- LoggingEventBuilder instance as appropriate for level DEBUG
- Since:
- 2.0
-
isInfoEnabled
boolean isInfoEnabled()Is the logger instance enabled for the INFO level?- Returns:
- True if this Logger is enabled for the INFO level, false otherwise.
-
info
Log a message at the INFO level.- Parameters:
msg
- the message string to be logged
-
info
Log a message at the INFO level according to the specified format and argument.This form avoids superfluous object creation when the logger is disabled for the INFO level.
- Parameters:
format
- the format stringarg
- the argument
-
info
Log a message at the INFO level according to the specified format and arguments.This form avoids superfluous object creation when the logger is disabled for the INFO level.
- Parameters:
format
- the format stringarg1
- the first argumentarg2
- the second argument
-
info
Log a message at the INFO level according to the specified format and arguments.This form avoids superfluous string concatenation when the logger is disabled for the INFO level. However, this variant incurs the hidden (and relatively small) cost of creating an
Object[]
before invoking the method, even if this logger is disabled for INFO. The variants takingone
andtwo
arguments exist solely in order to avoid this hidden cost.- Parameters:
format
- the format stringarguments
- a list of 3 or more arguments
-
info
Log an exception (throwable) at the INFO level with an accompanying message.- Parameters:
msg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
isInfoEnabled
Similar toisInfoEnabled()
method except that the marker data is also taken into consideration.- Parameters:
marker
- The marker data to take into consideration- Returns:
- true if this Logger is enabled for the INFO level, false otherwise.
-
info
Log a message with the specific Marker at the INFO level.- Parameters:
marker
- The marker specific to this log statementmsg
- the message string to be logged
-
info
This method is similar toinfo(String, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg
- the argument
-
info
This method is similar toinfo(String, Object, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg1
- the first argumentarg2
- the second argument
-
info
This method is similar toinfo(String, Object...)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarguments
- a list of 3 or more arguments
-
info
This method is similar toinfo(String, Throwable)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data for this log statementmsg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
atInfo
Entry point for fluent-logging forLevel.INFO
level.If this logger is disabled for the INFO level, then a
NOPLoggingEventBuilder
instance is returned. As the name indicates, this builder does not perform any operations. This is the main optimization in the fluent API.- Returns:
- LoggingEventBuilder instance as appropriate for level INFO
- Since:
- 2.0
-
isWarnEnabled
boolean isWarnEnabled()Is the logger instance enabled for the WARN level?- Returns:
- True if this Logger is enabled for the WARN level, false otherwise.
-
warn
Log a message at the WARN level.- Parameters:
msg
- the message string to be logged
-
warn
Log a message at the WARN level according to the specified format and argument.This form avoids superfluous object creation when the logger is disabled for the WARN level.
- Parameters:
format
- the format stringarg
- the argument
-
warn
Log a message at the WARN level according to the specified format and arguments.This form avoids superfluous string concatenation when the logger is disabled for the WARN level. However, this variant incurs the hidden (and relatively small) cost of creating an
Object[]
before invoking the method, even if this logger is disabled for WARN. The variants takingone
andtwo
arguments exist solely in order to avoid this hidden cost.- Parameters:
format
- the format stringarguments
- a list of 3 or more arguments
-
warn
Log a message at the WARN level according to the specified format and arguments.This form avoids superfluous object creation when the logger is disabled for the WARN level.
- Parameters:
format
- the format stringarg1
- the first argumentarg2
- the second argument
-
warn
Log an exception (throwable) at the WARN level with an accompanying message.- Parameters:
msg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
isWarnEnabled
Similar toisWarnEnabled()
method except that the marker data is also taken into consideration.- Parameters:
marker
- The marker data to take into consideration- Returns:
- True if this Logger is enabled for the WARN level, false otherwise.
-
warn
Log a message with the specific Marker at the WARN level.- Parameters:
marker
- The marker specific to this log statementmsg
- the message string to be logged
-
warn
This method is similar towarn(String, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg
- the argument
-
warn
This method is similar towarn(String, Object, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg1
- the first argumentarg2
- the second argument
-
warn
This method is similar towarn(String, Object...)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarguments
- a list of 3 or more arguments
-
warn
This method is similar towarn(String, Throwable)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data for this log statementmsg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
atWarn
Entry point for fluent-logging forLevel.WARN
level.If this logger is disabled for the WARN level, then a
NOPLoggingEventBuilder
instance is returned. As the name indicates, this builder does not perform any operations. This is the main optimization in the fluent API.- Returns:
- LoggingEventBuilder instance as appropriate for level WARN
- Since:
- 2.0
-
isErrorEnabled
boolean isErrorEnabled()Is the logger instance enabled for the ERROR level?- Returns:
- True if this Logger is enabled for the ERROR level, false otherwise.
-
error
Log a message at the ERROR level.- Parameters:
msg
- the message string to be logged
-
error
Log a message at the ERROR level according to the specified format and argument.This form avoids superfluous object creation when the logger is disabled for the ERROR level.
- Parameters:
format
- the format stringarg
- the argument
-
error
Log a message at the ERROR level according to the specified format and arguments.This form avoids superfluous object creation when the logger is disabled for the ERROR level.
- Parameters:
format
- the format stringarg1
- the first argumentarg2
- the second argument
-
error
Log a message at the ERROR level according to the specified format and arguments.This form avoids superfluous string concatenation when the logger is disabled for the ERROR level. However, this variant incurs the hidden (and relatively small) cost of creating an
Object[]
before invoking the method, even if this logger is disabled for ERROR. The variants takingone
andtwo
arguments exist solely in order to avoid this hidden cost.- Parameters:
format
- the format stringarguments
- a list of 3 or more arguments
-
error
Log an exception (throwable) at the ERROR level with an accompanying message.- Parameters:
msg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
isErrorEnabled
Similar toisErrorEnabled()
method except that the marker data is also taken into consideration.- Parameters:
marker
- The marker data to take into consideration- Returns:
- True if this Logger is enabled for the ERROR level, false otherwise.
-
error
Log a message with the specific Marker at the ERROR level.- Parameters:
marker
- The marker specific to this log statementmsg
- the message string to be logged
-
error
This method is similar toerror(String, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg
- the argument
-
error
This method is similar toerror(String, Object, Object)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarg1
- the first argumentarg2
- the second argument
-
error
This method is similar toerror(String, Object...)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementformat
- the format stringarguments
- a list of 3 or more arguments
-
error
This method is similar toerror(String, Throwable)
method except that the marker data is also taken into consideration.- Parameters:
marker
- the marker data specific to this log statementmsg
- the message accompanying the exceptiont
- the exception (throwable) to log
-
atError
Entry point for fluent-logging forLevel.ERROR
level.If this logger is disabled for the ERROR level, then a
NOPLoggingEventBuilder
instance is returned. As the name indicates, this builder does not perform any operations.- Returns:
- LoggingEventBuilder instance as appropriate for level ERROR
- Since:
- 2.0
-