edu.northwestern.at.utils.logger

## Interface Logger

- All Known Implementing Classes:
    BaseLogger, DummyLogger, StandardErrorLogger, StandardOutputLogger

      public interface Logger

  Interface for a logger.

  A logger is used to write messages to a log file. Each message has an associated level of severity. In increasing order these are:

  1. debug
  2. information
  3. warning
  4. error
  5. fatal

  Please see `LoggerConstants` for the associated numeric values for each level.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isDebuggingEnabled()` Returns true if debugging messages are enabled.
    `boolean` | `isLoggerEnabled()` Returns true if logger is enabled.
    `void` | `log(int level, java.lang.String str)` Log a message at a specified level.
    `void` | `log(int level, java.lang.String str, java.lang.Throwable t)` Log a message with a stack trace.
    `void` | `logDebug(java.lang.String str)` Log a message at the Debug level.
    `void` | `logError(java.lang.String str)` Log a message at the Error level.
    `void` | `logError(java.lang.String str, java.lang.Throwable t)` Logs a error message with a stack trace.
    `void` | `logFatal(java.lang.String str)` Log a message at the Fatal level.
    `void` | `logFatal(java.lang.String str, java.lang.Throwable t)` Logs a fatal message with a stack trace.
    `void` | `logInfo(java.lang.String str)` Log a message at the Info level.
    `void` | `logWarning(java.lang.String str)` Log a message at the Warn level.
    `void` | `terminate()` Terminate.logger.

- - ### Method Detail

    - #### logDebug

          void logDebug(java.lang.String str)

      Log a message at the Debug level.
      Parameters:
        `str` - Log message.

    - #### logInfo

          void logInfo(java.lang.String str)

      Log a message at the Info level.
      Parameters:
        `str` - Log message.

    - #### logWarning

          void logWarning(java.lang.String str)

      Log a message at the Warn level.
      Parameters:
        `str` - Log message.

    - #### logError

          void logError(java.lang.String str)

      Log a message at the Error level.
      Parameters:
        `str` - Log message.

    - #### logError

          void logError(java.lang.String str,
                      java.lang.Throwable t)

      Logs a error message with a stack trace.
      Parameters:
        `str` - Log message.
        `t` - Throwable.

    - #### logFatal

          void logFatal(java.lang.String str)

      Log a message at the Fatal level.
      Parameters:
        `str` - Log message.

    - #### logFatal

          void logFatal(java.lang.String str,
                      java.lang.Throwable t)

      Logs a fatal message with a stack trace.
      Parameters:
        `str` - Log message.
        `t` - Throwable.

    - #### log

          void log(int level,
                 java.lang.String str)

      Log a message at a specified level.
      Parameters:
        `level` - Message level. See `LoggerConstants` for the allowed values.
        `str` - Log message.

    - #### log

          void log(int level,
                 java.lang.String str,
                 java.lang.Throwable t)

      Log a message with a stack trace.
      Parameters:
        `level` - Message level. See `LoggerConstants` for the allowed values.
        `str` - Log message.
        `t` - Throwable.

    - #### isDebuggingEnabled

          boolean isDebuggingEnabled()

      Returns true if debugging messages are enabled.
      Returns:
        True if debugging messages are enabled.

    - #### isLoggerEnabled

          boolean isLoggerEnabled()

      Returns true if logger is enabled.
      Returns:
        True if logger is enabled.

    - #### terminate

          void terminate()

      Terminate.logger.