org.apache.commons.logging

## Interface Log

- All Known Implementing Classes:
    NoOpLog, SimpleLog

      public interface Log

  A simple logging interface abstracting logging APIs. In order to be instantiated successfully by `LogFactory`, classes that implement this interface must have a constructor that takes a single String parameter representing the "name" of this Log.

  The six logging levels used by `Log` are (in order):

  1. trace (the least serious)
  2. debug
  3. info
  4. warn
  5. error
  6. fatal (the most serious)
  The mapping of these log levels to the concepts used by the underlying logging system is implementation dependent. The implementation should ensure, though, that this ordering behaves as expected.

  Performance is often a logging concern. By examining the appropriate property, a component can avoid expensive operations (producing information to be logged).

  For example,

          if (log.isDebugEnabled()) {
              ... do something expensive ...
              log.debug(theResult);
          }

  Configuration of the underlying logging system will generally be done external to the Logging APIs, through whatever mechanism is supported by that system.

  Since:
    5.0
  Author:
    Juergen Hoeller (for the `spring-jcl` variant)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `debug(Object message)` Logs a message with debug log level.
    `void` | `debug(Object message, Throwable t)` Logs an error with debug log level.
    `void` | `error(Object message)` Logs a message with error log level.
    `void` | `error(Object message, Throwable t)` Logs an error with error log level.
    `void` | `fatal(Object message)` Logs a message with fatal log level.
    `void` | `fatal(Object message, Throwable t)` Logs an error with fatal log level.
    `void` | `info(Object message)` Logs a message with info log level.
    `void` | `info(Object message, Throwable t)` Logs an error with info log level.
    `boolean` | `isDebugEnabled()` Is debug logging currently enabled?
    `boolean` | `isErrorEnabled()` Is error logging currently enabled?
    `boolean` | `isFatalEnabled()` Is fatal logging currently enabled?
    `boolean` | `isInfoEnabled()` Is info logging currently enabled?
    `boolean` | `isTraceEnabled()` Is trace logging currently enabled?
    `boolean` | `isWarnEnabled()` Is warn logging currently enabled?
    `void` | `trace(Object message)` Logs a message with trace log level.
    `void` | `trace(Object message, Throwable t)` Logs an error with trace log level.
    `void` | `warn(Object message)` Logs a message with warn log level.
    `void` | `warn(Object message, Throwable t)` Logs an error with warn log level.

- - ### Method Detail

    - #### isFatalEnabled

          boolean isFatalEnabled()

      Is fatal logging currently enabled?

      Call this method to prevent having to perform expensive operations (for example, `String` concatenation) when the log level is more than fatal.

      Returns:
        true if fatal is enabled in the underlying logger.

    - #### isErrorEnabled

          boolean isErrorEnabled()

      Is error logging currently enabled?

      Call this method to prevent having to perform expensive operations (for example, `String` concatenation) when the log level is more than error.

      Returns:
        true if error is enabled in the underlying logger.

    - #### isWarnEnabled

          boolean isWarnEnabled()

      Is warn logging currently enabled?

      Call this method to prevent having to perform expensive operations (for example, `String` concatenation) when the log level is more than warn.

      Returns:
        true if warn is enabled in the underlying logger.

    - #### isInfoEnabled

          boolean isInfoEnabled()

      Is info logging currently enabled?

      Call this method to prevent having to perform expensive operations (for example, `String` concatenation) when the log level is more than info.

      Returns:
        true if info is enabled in the underlying logger.

    - #### isDebugEnabled

          boolean isDebugEnabled()

      Is debug logging currently enabled?

      Call this method to prevent having to perform expensive operations (for example, `String` concatenation) when the log level is more than debug.

      Returns:
        true if debug is enabled in the underlying logger.

    - #### isTraceEnabled

          boolean isTraceEnabled()

      Is trace logging currently enabled?

      Call this method to prevent having to perform expensive operations (for example, `String` concatenation) when the log level is more than trace.

      Returns:
        true if trace is enabled in the underlying logger.

    - #### fatal

          void fatal(Object message)

      Logs a message with fatal log level.
      Parameters:
        `message` - log this message

    - #### fatal

          void fatal(Object message,
                     Throwable t)

      Logs an error with fatal log level.
      Parameters:
        `message` - log this message
        `t` - log this cause

    - #### error

          void error(Object message)

      Logs a message with error log level.
      Parameters:
        `message` - log this message

    - #### error

          void error(Object message,
                     Throwable t)

      Logs an error with error log level.
      Parameters:
        `message` - log this message
        `t` - log this cause

    - #### warn

          void warn(Object message)

      Logs a message with warn log level.
      Parameters:
        `message` - log this message

    - #### warn

          void warn(Object message,
                    Throwable t)

      Logs an error with warn log level.
      Parameters:
        `message` - log this message
        `t` - log this cause

    - #### info

          void info(Object message)

      Logs a message with info log level.
      Parameters:
        `message` - log this message

    - #### info

          void info(Object message,
                    Throwable t)

      Logs an error with info log level.
      Parameters:
        `message` - log this message
        `t` - log this cause

    - #### debug

          void debug(Object message)

      Logs a message with debug log level.
      Parameters:
        `message` - log this message

    - #### debug

          void debug(Object message,
                     Throwable t)

      Logs an error with debug log level.
      Parameters:
        `message` - log this message
        `t` - log this cause

    - #### trace

          void trace(Object message)

      Logs a message with trace log level.
      Parameters:
        `message` - log this message

    - #### trace

          void trace(Object message,
                     Throwable t)

      Logs an error with trace log level.
      Parameters:
        `message` - log this message
        `t` - log this cause