Class SubstituteLogger

java.lang.Object
org.slf4j.helpers.SubstituteLogger
All Implemented Interfaces:
Logger

public class SubstituteLogger extends Object implements Logger
A logger implementation which logs via a delegate logger. By default, the delegate is a NOPLogger. However, a different delegate can be set at any time.

See also the relevant error code documentation.

Author:
Chetan Mehrotra, Ceki Gulcu
  • Field Details

  • Constructor Details

  • Method Details

    • getName

      public String getName()
      Description copied from interface: Logger
      Return the name of this Logger instance.
      Specified by:
      getName in interface Logger
      Returns:
      name of this logger instance
    • makeLoggingEventBuilder

      Description copied from interface: Logger

      Make a new LoggingEventBuilder instance as appropriate for this logger implementation. This default implementation always returns a new instance of DefaultLoggingEventBuilder.

      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 the LoggingEventBuilder appropriate for this logger implementation.

      Specified by:
      makeLoggingEventBuilder in interface Logger
      Parameters:
      level - desired level for the event builder
      Returns:
      a new LoggingEventBuilder instance as appropriate for this logger
    • atLevel

      Description copied from interface: Logger

      Make a new LoggingEventBuilder instance as appropriate for this logger and the desired Level passed as parameter. If this Logger is disabled for the given Level, then a NOPLoggingEventBuilder is returned. This is the main optimization in the fluent API.

      Specified by:
      atLevel in interface Logger
      Parameters:
      level - desired level for the event builder
      Returns:
      a new LoggingEventBuilder instance as appropriate for this logger
    • isEnabledForLevel

      public boolean isEnabledForLevel(Level level)
      Description copied from interface: Logger
      Returns whether this Logger is enabled for a given Level.
      Specified by:
      isEnabledForLevel in interface Logger
      Parameters:
      level -
      Returns:
      true if enabled, false otherwise.
    • isTraceEnabled

      public boolean isTraceEnabled()
      Description copied from interface: Logger
      Is the logger instance enabled for the TRACE level?
      Specified by:
      isTraceEnabled in interface Logger
      Returns:
      True if this Logger is enabled for the TRACE level, false otherwise.
    • trace

      public void trace(String msg)
      Description copied from interface: Logger
      Log a message at the TRACE level.
      Specified by:
      trace in interface Logger
      Parameters:
      msg - the message string to be logged
    • trace

      public void trace(String format, Object arg)
      Description copied from interface: Logger
      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.

      Specified by:
      trace in interface Logger
      Parameters:
      format - the format string
      arg - the argument
    • trace

      public void trace(String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      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.

      Specified by:
      trace in interface Logger
      Parameters:
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • trace

      public void trace(String format, Object... arguments)
      Description copied from interface: Logger
      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 taking one and two arguments exist solely in order to avoid this hidden cost.

      Specified by:
      trace in interface Logger
      Parameters:
      format - the format string
      arguments - a list of 3 or more arguments
    • trace

      public void trace(String msg, Throwable t)
      Description copied from interface: Logger
      Log an exception (throwable) at the TRACE level with an accompanying message.
      Specified by:
      trace in interface Logger
      Parameters:
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • isTraceEnabled

      public boolean isTraceEnabled(Marker marker)
      Description copied from interface: Logger
      Similar to Logger.isTraceEnabled() method except that the marker data is also taken into account.
      Specified by:
      isTraceEnabled in interface Logger
      Parameters:
      marker - The marker data to take into consideration
      Returns:
      True if this Logger is enabled for the TRACE level, false otherwise.
    • trace

      public void trace(Marker marker, String msg)
      Description copied from interface: Logger
      Log a message with the specific Marker at the TRACE level.
      Specified by:
      trace in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      msg - the message string to be logged
    • trace

      public void trace(Marker marker, String format, Object arg)
      Description copied from interface: Logger
      This method is similar to Logger.trace(String, Object) method except that the marker data is also taken into consideration.
      Specified by:
      trace in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg - the argument
    • trace

      public void trace(Marker marker, String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      This method is similar to Logger.trace(String, Object, Object) method except that the marker data is also taken into consideration.
      Specified by:
      trace in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • trace

      public void trace(Marker marker, String format, Object... arguments)
      Description copied from interface: Logger
      This method is similar to Logger.trace(String, Object...) method except that the marker data is also taken into consideration.
      Specified by:
      trace in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arguments - an array of arguments
    • trace

      public void trace(Marker marker, String msg, Throwable t)
      Description copied from interface: Logger
      This method is similar to Logger.trace(String, Throwable) method except that the marker data is also taken into consideration.
      Specified by:
      trace in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • atTrace

      Description copied from interface: Logger
      Entry point for fluent-logging for Level.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.

      Specified by:
      atTrace in interface Logger
      Returns:
      LoggingEventBuilder instance as appropriate for level TRACE
    • isDebugEnabled

      public boolean isDebugEnabled()
      Description copied from interface: Logger
      Is the logger instance enabled for the DEBUG level?
      Specified by:
      isDebugEnabled in interface Logger
      Returns:
      True if this Logger is enabled for the DEBUG level, false otherwise.
    • debug

      public void debug(String msg)
      Description copied from interface: Logger
      Log a message at the DEBUG level.
      Specified by:
      debug in interface Logger
      Parameters:
      msg - the message string to be logged
    • debug

      public void debug(String format, Object arg)
      Description copied from interface: Logger
      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.

      Specified by:
      debug in interface Logger
      Parameters:
      format - the format string
      arg - the argument
    • debug

      public void debug(String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      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.

      Specified by:
      debug in interface Logger
      Parameters:
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • debug

      public void debug(String format, Object... arguments)
      Description copied from interface: Logger
      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 taking one and two arguments exist solely in order to avoid this hidden cost.

      Specified by:
      debug in interface Logger
      Parameters:
      format - the format string
      arguments - a list of 3 or more arguments
    • debug

      public void debug(String msg, Throwable t)
      Description copied from interface: Logger
      Log an exception (throwable) at the DEBUG level with an accompanying message.
      Specified by:
      debug in interface Logger
      Parameters:
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • isDebugEnabled

      public boolean isDebugEnabled(Marker marker)
      Description copied from interface: Logger
      Similar to Logger.isDebugEnabled() method except that the marker data is also taken into account.
      Specified by:
      isDebugEnabled in interface Logger
      Parameters:
      marker - The marker data to take into consideration
      Returns:
      True if this Logger is enabled for the DEBUG level, false otherwise.
    • debug

      public void debug(Marker marker, String msg)
      Description copied from interface: Logger
      Log a message with the specific Marker at the DEBUG level.
      Specified by:
      debug in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      msg - the message string to be logged
    • debug

      public void debug(Marker marker, String format, Object arg)
      Description copied from interface: Logger
      This method is similar to Logger.debug(String, Object) method except that the marker data is also taken into consideration.
      Specified by:
      debug in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg - the argument
    • debug

      public void debug(Marker marker, String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      This method is similar to Logger.debug(String, Object, Object) method except that the marker data is also taken into consideration.
      Specified by:
      debug in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • debug

      public void debug(Marker marker, String format, Object... arguments)
      Description copied from interface: Logger
      This method is similar to Logger.debug(String, Object...) method except that the marker data is also taken into consideration.
      Specified by:
      debug in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arguments - a list of 3 or more arguments
    • debug

      public void debug(Marker marker, String msg, Throwable t)
      Description copied from interface: Logger
      This method is similar to Logger.debug(String, Throwable) method except that the marker data is also taken into consideration.
      Specified by:
      debug in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • atDebug

      Description copied from interface: Logger
      Entry point for fluent-logging for Level.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.

      Specified by:
      atDebug in interface Logger
      Returns:
      LoggingEventBuilder instance as appropriate for level DEBUG
    • isInfoEnabled

      public boolean isInfoEnabled()
      Description copied from interface: Logger
      Is the logger instance enabled for the INFO level?
      Specified by:
      isInfoEnabled in interface Logger
      Returns:
      True if this Logger is enabled for the INFO level, false otherwise.
    • info

      public void info(String msg)
      Description copied from interface: Logger
      Log a message at the INFO level.
      Specified by:
      info in interface Logger
      Parameters:
      msg - the message string to be logged
    • info

      public void info(String format, Object arg)
      Description copied from interface: Logger
      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.

      Specified by:
      info in interface Logger
      Parameters:
      format - the format string
      arg - the argument
    • info

      public void info(String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      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.

      Specified by:
      info in interface Logger
      Parameters:
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • info

      public void info(String format, Object... arguments)
      Description copied from interface: Logger
      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 taking one and two arguments exist solely in order to avoid this hidden cost.

      Specified by:
      info in interface Logger
      Parameters:
      format - the format string
      arguments - a list of 3 or more arguments
    • info

      public void info(String msg, Throwable t)
      Description copied from interface: Logger
      Log an exception (throwable) at the INFO level with an accompanying message.
      Specified by:
      info in interface Logger
      Parameters:
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • isInfoEnabled

      public boolean isInfoEnabled(Marker marker)
      Description copied from interface: Logger
      Similar to Logger.isInfoEnabled() method except that the marker data is also taken into consideration.
      Specified by:
      isInfoEnabled in interface Logger
      Parameters:
      marker - The marker data to take into consideration
      Returns:
      true if this Logger is enabled for the INFO level, false otherwise.
    • info

      public void info(Marker marker, String msg)
      Description copied from interface: Logger
      Log a message with the specific Marker at the INFO level.
      Specified by:
      info in interface Logger
      Parameters:
      marker - The marker specific to this log statement
      msg - the message string to be logged
    • info

      public void info(Marker marker, String format, Object arg)
      Description copied from interface: Logger
      This method is similar to Logger.info(String, Object) method except that the marker data is also taken into consideration.
      Specified by:
      info in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg - the argument
    • info

      public void info(Marker marker, String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      This method is similar to Logger.info(String, Object, Object) method except that the marker data is also taken into consideration.
      Specified by:
      info in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • info

      public void info(Marker marker, String format, Object... arguments)
      Description copied from interface: Logger
      This method is similar to Logger.info(String, Object...) method except that the marker data is also taken into consideration.
      Specified by:
      info in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arguments - a list of 3 or more arguments
    • info

      public void info(Marker marker, String msg, Throwable t)
      Description copied from interface: Logger
      This method is similar to Logger.info(String, Throwable) method except that the marker data is also taken into consideration.
      Specified by:
      info in interface Logger
      Parameters:
      marker - the marker data for this log statement
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • atInfo

      Description copied from interface: Logger
      Entry point for fluent-logging for Level.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.

      Specified by:
      atInfo in interface Logger
      Returns:
      LoggingEventBuilder instance as appropriate for level INFO
    • isWarnEnabled

      public boolean isWarnEnabled()
      Description copied from interface: Logger
      Is the logger instance enabled for the WARN level?
      Specified by:
      isWarnEnabled in interface Logger
      Returns:
      True if this Logger is enabled for the WARN level, false otherwise.
    • warn

      public void warn(String msg)
      Description copied from interface: Logger
      Log a message at the WARN level.
      Specified by:
      warn in interface Logger
      Parameters:
      msg - the message string to be logged
    • warn

      public void warn(String format, Object arg)
      Description copied from interface: Logger
      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.

      Specified by:
      warn in interface Logger
      Parameters:
      format - the format string
      arg - the argument
    • warn

      public void warn(String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      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.

      Specified by:
      warn in interface Logger
      Parameters:
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • warn

      public void warn(String format, Object... arguments)
      Description copied from interface: Logger
      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 taking one and two arguments exist solely in order to avoid this hidden cost.

      Specified by:
      warn in interface Logger
      Parameters:
      format - the format string
      arguments - a list of 3 or more arguments
    • warn

      public void warn(String msg, Throwable t)
      Description copied from interface: Logger
      Log an exception (throwable) at the WARN level with an accompanying message.
      Specified by:
      warn in interface Logger
      Parameters:
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • isWarnEnabled

      public boolean isWarnEnabled(Marker marker)
      Description copied from interface: Logger
      Similar to Logger.isWarnEnabled() method except that the marker data is also taken into consideration.
      Specified by:
      isWarnEnabled in interface Logger
      Parameters:
      marker - The marker data to take into consideration
      Returns:
      True if this Logger is enabled for the WARN level, false otherwise.
    • warn

      public void warn(Marker marker, String msg)
      Description copied from interface: Logger
      Log a message with the specific Marker at the WARN level.
      Specified by:
      warn in interface Logger
      Parameters:
      marker - The marker specific to this log statement
      msg - the message string to be logged
    • warn

      public void warn(Marker marker, String format, Object arg)
      Description copied from interface: Logger
      This method is similar to Logger.warn(String, Object) method except that the marker data is also taken into consideration.
      Specified by:
      warn in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg - the argument
    • warn

      public void warn(Marker marker, String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      This method is similar to Logger.warn(String, Object, Object) method except that the marker data is also taken into consideration.
      Specified by:
      warn in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • warn

      public void warn(Marker marker, String format, Object... arguments)
      Description copied from interface: Logger
      This method is similar to Logger.warn(String, Object...) method except that the marker data is also taken into consideration.
      Specified by:
      warn in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arguments - a list of 3 or more arguments
    • warn

      public void warn(Marker marker, String msg, Throwable t)
      Description copied from interface: Logger
      This method is similar to Logger.warn(String, Throwable) method except that the marker data is also taken into consideration.
      Specified by:
      warn in interface Logger
      Parameters:
      marker - the marker data for this log statement
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • atWarn

      Description copied from interface: Logger
      Entry point for fluent-logging for Level.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.

      Specified by:
      atWarn in interface Logger
      Returns:
      LoggingEventBuilder instance as appropriate for level WARN
    • isErrorEnabled

      public boolean isErrorEnabled()
      Description copied from interface: Logger
      Is the logger instance enabled for the ERROR level?
      Specified by:
      isErrorEnabled in interface Logger
      Returns:
      True if this Logger is enabled for the ERROR level, false otherwise.
    • error

      public void error(String msg)
      Description copied from interface: Logger
      Log a message at the ERROR level.
      Specified by:
      error in interface Logger
      Parameters:
      msg - the message string to be logged
    • error

      public void error(String format, Object arg)
      Description copied from interface: Logger
      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.

      Specified by:
      error in interface Logger
      Parameters:
      format - the format string
      arg - the argument
    • error

      public void error(String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      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.

      Specified by:
      error in interface Logger
      Parameters:
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • error

      public void error(String format, Object... arguments)
      Description copied from interface: Logger
      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 taking one and two arguments exist solely in order to avoid this hidden cost.

      Specified by:
      error in interface Logger
      Parameters:
      format - the format string
      arguments - a list of 3 or more arguments
    • error

      public void error(String msg, Throwable t)
      Description copied from interface: Logger
      Log an exception (throwable) at the ERROR level with an accompanying message.
      Specified by:
      error in interface Logger
      Parameters:
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • isErrorEnabled

      public boolean isErrorEnabled(Marker marker)
      Description copied from interface: Logger
      Similar to Logger.isErrorEnabled() method except that the marker data is also taken into consideration.
      Specified by:
      isErrorEnabled in interface Logger
      Parameters:
      marker - The marker data to take into consideration
      Returns:
      True if this Logger is enabled for the ERROR level, false otherwise.
    • error

      public void error(Marker marker, String msg)
      Description copied from interface: Logger
      Log a message with the specific Marker at the ERROR level.
      Specified by:
      error in interface Logger
      Parameters:
      marker - The marker specific to this log statement
      msg - the message string to be logged
    • error

      public void error(Marker marker, String format, Object arg)
      Description copied from interface: Logger
      This method is similar to Logger.error(String, Object) method except that the marker data is also taken into consideration.
      Specified by:
      error in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg - the argument
    • error

      public void error(Marker marker, String format, Object arg1, Object arg2)
      Description copied from interface: Logger
      This method is similar to Logger.error(String, Object, Object) method except that the marker data is also taken into consideration.
      Specified by:
      error in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arg1 - the first argument
      arg2 - the second argument
    • error

      public void error(Marker marker, String format, Object... arguments)
      Description copied from interface: Logger
      This method is similar to Logger.error(String, Object...) method except that the marker data is also taken into consideration.
      Specified by:
      error in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      format - the format string
      arguments - a list of 3 or more arguments
    • error

      public void error(Marker marker, String msg, Throwable t)
      Description copied from interface: Logger
      This method is similar to Logger.error(String, Throwable) method except that the marker data is also taken into consideration.
      Specified by:
      error in interface Logger
      Parameters:
      marker - the marker data specific to this log statement
      msg - the message accompanying the exception
      t - the exception (throwable) to log
    • atError

      Description copied from interface: Logger
      Entry point for fluent-logging for Level.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.

      Specified by:
      atError in interface Logger
      Returns:
      LoggingEventBuilder instance as appropriate for level ERROR
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • delegate

      public Logger delegate()
      Return the delegate logger instance if set. Otherwise, return a NOPLogger instance.
    • setDelegate

      public void setDelegate(Logger delegate)
      Typically called after the LoggerFactory initialization phase is completed.
      Parameters:
      delegate -
    • isDelegateEventAware

      public boolean isDelegateEventAware()
    • log

      public void log(LoggingEvent event)
    • isDelegateNull

      public boolean isDelegateNull()
    • isDelegateNOP

      public boolean isDelegateNOP()