## 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
`static class` `Log.SimpleMessage` A simple message class.

Constructor Summary
`protected` `Log()` Creates a new Log instance.

Method Summary
`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.