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

### Constructor Summary

Constructors
`protected` `Log()` Creates a new Log instance.

### Method Summary

Methods
`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.