org.jfree.util

## Class Log

- java.lang.Object
- - org.jfree.util.Log

-     public class Log
      extends java.lang.Object

  A simple logging facility. Create a class implementing the `LogTarget` interface to use this feature.
  Author:
    Thomas Morgner

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Log.SimpleMessage` A simple message class.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Log()` Creates a new Log instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTarget(LogTarget target)` Adds a log target to this facility.
    `static LogContext` | `createContext(java.lang.Class context)` Creates a log context.
    `static LogContext` | `createContext(java.lang.String context)` Creates a log context.
    `static void` | `debug(java.lang.Object message)` A convenience method for logging a 'debug' message.
    `static void` | `debug(java.lang.Object message, java.lang.Exception e)` A convenience method for logging a 'debug' message.
    `protected static void` | `defineLog(Log log)` Redefines or clears the currently used log instance.
    `protected void` | `doLog(int level, java.lang.Object message)` Logs a message to the main log stream.
    `protected void` | `doLog(int level, java.lang.Object message, java.lang.Exception e)` Logs a message to the main log stream.
    `static void` | `error(java.lang.Object message)` A convenience method for logging an 'error' message.
    `static void` | `error(java.lang.Object message, java.lang.Exception e)` A convenience method for logging an 'error' message.
    `int` | `getDebuglevel()` Returns the currently defined debug level.
    `static Log` | `getInstance()` Returns the singleton Log instance.
    `LogTarget[]` | `getTargets()` Returns the registered logtargets.
    `static void` | `info(java.lang.Object message)` A convenience method for logging an 'info' message.
    `static void` | `info(java.lang.Object message, java.lang.Exception e)` A convenience method for logging an 'info' message.
    `void` | `init()` Initializes the logging system.
    `protected LogContext` | `internalCreateContext(java.lang.String context)` Creates a log context.
    `static boolean` | `isDebugEnabled()` Returns true, if the log level allows debug messages to be printed.
    `static boolean` | `isErrorEnabled()` Returns true, if the log level allows error messages to be printed.
    `static boolean` | `isInfoEnabled()` Returns true, if the log level allows informational messages to be printed.
    `static boolean` | `isWarningEnabled()` Returns true, if the log level allows warning messages to be printed.
    `static void` | `log(int level, java.lang.Object message)` Logs a message to the main log stream.
    `static void` | `log(int level, java.lang.Object message, java.lang.Exception e)` Logs a message to the main log stream.
    `void` | `removeTarget(LogTarget target)` Removes a log target from this facility.
    `void` | `replaceTargets(LogTarget target)` Replaces all log targets by the given target.
    `protected void` | `setDebuglevel(int debuglevel)` Defines the debug level for the log system.
    `static void` | `warn(java.lang.Object message)` A convenience method for logging a 'warning' message.
    `static void` | `warn(java.lang.Object message, java.lang.Exception e)` A convenience method for logging a 'warning' message.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Log

          protected Log()

      Creates a new Log instance. The Log is used to manage the log targets.

  - ### Method Detail

    - #### getInstance

          public static Log getInstance()

      Returns the singleton Log instance. A new instance is created if necessary.
      Returns:
        the singleton instance.

    - #### defineLog

          protected static void defineLog(Log log)

      Redefines or clears the currently used log instance.
      Parameters:
        `log` - the new log instance or null, to return to the default implementation.

    - #### getDebuglevel

          public int getDebuglevel()

      Returns the currently defined debug level. The higher the level, the more details are printed.
      Returns:
        the debug level.

    - #### setDebuglevel

          protected void setDebuglevel(int debuglevel)

      Defines the debug level for the log system.
      Parameters:
        `debuglevel` - the new debug level
      See Also:
        `getDebuglevel()`

    - #### addTarget

          public void addTarget(LogTarget target)

      Adds a log target to this facility. Log targets get informed, via the LogTarget interface, whenever a message is logged with this class.
      Parameters:
        `target` - the target.

    - #### removeTarget

          public void removeTarget(LogTarget target)

      Removes a log target from this facility.
      Parameters:
        `target` - the target to remove.

    - #### getTargets

          public LogTarget[] getTargets()

      Returns the registered logtargets.
      Returns:
        the logtargets.

    - #### replaceTargets

          public void replaceTargets(LogTarget target)

      Replaces all log targets by the given target.
      Parameters:
        `target` - the new and only logtarget.

    - #### debug

          public static void debug(java.lang.Object message)

      A convenience method for logging a 'debug' message.
      Parameters:
        `message` - the message.

    - #### debug

          public static void debug(java.lang.Object message,
                   java.lang.Exception e)

      A convenience method for logging a 'debug' message.
      Parameters:
        `message` - the message.
        `e` - the exception.

    - #### info

          public static void info(java.lang.Object message)

      A convenience method for logging an 'info' message.
      Parameters:
        `message` - the message.

    - #### info

          public static void info(java.lang.Object message,
                  java.lang.Exception e)

      A convenience method for logging an 'info' message.
      Parameters:
        `message` - the message.
        `e` - the exception.

    - #### warn

          public static void warn(java.lang.Object message)

      A convenience method for logging a 'warning' message.
      Parameters:
        `message` - the message.

    - #### warn

          public static void warn(java.lang.Object message,
                  java.lang.Exception e)

      A convenience method for logging a 'warning' message.
      Parameters:
        `message` - the message.
        `e` - the exception.

    - #### error

          public static void error(java.lang.Object message)

      A convenience method for logging an 'error' message.
      Parameters:
        `message` - the message.

    - #### error

          public static void error(java.lang.Object message,
                   java.lang.Exception e)

      A convenience method for logging an 'error' message.
      Parameters:
        `message` - the message.
        `e` - the exception.

    - #### doLog

          protected void doLog(int level,
                   java.lang.Object message)

      Logs a message to the main log stream. All attached log targets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.
      Parameters:
        `level` - log level of the message.
        `message` - text to be logged.

    - #### log

          public static void log(int level,
                 java.lang.Object message)

      Logs a message to the main log stream. All attached log targets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.
      Parameters:
        `level` - log level of the message.
        `message` - text to be logged.

    - #### log

          public static void log(int level,
                 java.lang.Object message,
                 java.lang.Exception e)

      Logs a message to the main log stream. All attached logTargets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.

      The exception's stacktrace will be appended to the log-stream
      Parameters:
        `level` - log level of the message.
        `message` - text to be logged.
        `e` - the exception, which should be logged.

    - #### doLog

          protected void doLog(int level,
                   java.lang.Object message,
                   java.lang.Exception e)

      Logs a message to the main log stream. All attached logTargets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.

      The exception's stacktrace will be appended to the log-stream
      Parameters:
        `level` - log level of the message.
        `message` - text to be logged.
        `e` - the exception, which should be logged.

    - #### init

          public void init()

      Initializes the logging system. Implementors should override this method to supply their own log configuration.

    - #### isDebugEnabled

          public static boolean isDebugEnabled()

      Returns true, if the log level allows debug messages to be printed.
      Returns:
        true, if messages with an log level of DEBUG are allowed.

    - #### isInfoEnabled

          public static boolean isInfoEnabled()

      Returns true, if the log level allows informational messages to be printed.
      Returns:
        true, if messages with an log level of INFO are allowed.

    - #### isWarningEnabled

          public static boolean isWarningEnabled()

      Returns true, if the log level allows warning messages to be printed.
      Returns:
        true, if messages with an log level of WARN are allowed.

    - #### isErrorEnabled

          public static boolean isErrorEnabled()

      Returns true, if the log level allows error messages to be printed.
      Returns:
        true, if messages with an log level of ERROR are allowed.

    - #### createContext

          public static LogContext createContext(java.lang.Class context)

      Creates a log context.
      Parameters:
        `context` - the class (`null` not permitted).
      Returns:
        A log context.

    - #### createContext

          public static LogContext createContext(java.lang.String context)

      Creates a log context.
      Parameters:
        `context` - the label for the context.
      Returns:
        A log context.

    - #### internalCreateContext

          protected LogContext internalCreateContext(java.lang.String context)

      Creates a log context.
      Parameters:
        `context` - the name of the logging context (a common prefix).
      Returns:
        A log context.