Class AbstractLogger

java.lang.Object
org.slf4j.helpers.AbstractLogger
All Implemented Interfaces:
Serializable, Logger
Direct Known Subclasses:
LegacyAbstractLogger

public abstract class AbstractLogger extends Object implements Logger, Serializable
An abstract implementation which delegates actual logging work to the handleNormalizedLoggingCall(Level, Marker, String, Object[], Throwable) method.
Since:
2.0
Author:
Ceki Gülcü
See Also:
  • 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
    • readResolve

      Replace this instance with a homonymous (same name) logger returned by LoggerFactory. Note that this method is only called during deserialization.

      This approach will work well if the desired ILoggerFactory is the one referenced by LoggerFactory However, if the user manages its logger hierarchy through a different (non-static) mechanism, e.g. dependency injection, then this approach would be mostly counterproductive.

      Returns:
      logger with same name as returned by LoggerFactory
      Throws:
      ObjectStreamException
    • 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
    • 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... argArray)
      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
      argArray - 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • getFullyQualifiedCallerName

      protected abstract String getFullyQualifiedCallerName()
    • handleNormalizedLoggingCall

      protected abstract void handleNormalizedLoggingCall(Level level, Marker marker, String messagePattern, Object[] arguments, Throwable throwable)
      Given various arguments passed as parameters, perform actual logging.

      This method assumes that the separation of the args array into actual objects and a throwable has been already operated.

      Parameters:
      level - the SLF4J level for this event
      marker - The marker to be used for this event, may be null.
      messagePattern - The message pattern which will be parsed and formatted
      arguments - the array of arguments to be formatted, may be null
      throwable - The exception whose stack trace should be logged, may be null