Package org.apache.commons.logging.impl

# Class SimpleLog

java.lang.Object
org.apache.commons.logging.impl.SimpleLog

All Implemented Interfaces:
  `Serializable`, `Log`

public class SimpleLog extends Object implements Log, Serializable
Simple implementation of Log that sends all enabled log messages, for all defined loggers, to System.err. The following system properties are supported to configure the behavior of this logger:

- `org.apache.commons.logging.simplelog.defaultlog` - Default logging detail level for all instances of SimpleLog. Must be one of ("trace", "debug", "info", "warn", "error", or "fatal"). If not specified, defaults to "info".
- `org.apache.commons.logging.simplelog.log.xxxxx` - Logging detail level for a SimpleLog instance named "xxxxx". Must be one of ("trace", "debug", "info", "warn", "error", or "fatal"). If not specified, the default logging detail level is used.
- `org.apache.commons.logging.simplelog.showlogname` - Set to `true` if you want the Log instance name to be included in output messages. Defaults to `false`.
- `org.apache.commons.logging.simplelog.showShortLogname` - Set to `true` if you want the last component of the name to be included in output messages. Defaults to `true`.
- `org.apache.commons.logging.simplelog.showdatetime` - Set to `true` if you want the current date and time to be included in output messages. Default is `false`.
- `org.apache.commons.logging.simplelog.dateTimeFormat` - The date and time format to be used in the output messages. The pattern describing the date and time format is the same that is used in `SimpleDateFormat`. If the format is not specified or is invalid, the default format is used. The default format is `yyyy/MM/dd HH:mm:ss:SSS zzz`.

In addition to looking for system properties with the names specified above, this implementation also checks for a class loader resource named `"simplelog.properties"`, and includes any matching definitions from this resource (if it exists).

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected int`
  `currentLogLevel`
  The current log level
  `protected static DateFormat`
  `dateFormatter`
  Used to format times.
  `protected static String`
  `dateTimeFormat`
  The date and time format to use in the log message
  `protected static final String`
  `DEFAULT_DATE_TIME_FORMAT`
  The default format to use when formating dates
  `static final int`
  `LOG_LEVEL_ALL`
  Enable all logging levels
  `static final int`
  `LOG_LEVEL_DEBUG`
  "Debug" level logging.
  `static final int`
  `LOG_LEVEL_ERROR`
  "Error" level logging.
  `static final int`
  `LOG_LEVEL_FATAL`
  "Fatal" level logging.
  `static final int`
  `LOG_LEVEL_INFO`
  "Info" level logging.
  `static final int`
  `LOG_LEVEL_OFF`
  Enable no logging levels
  `static final int`
  `LOG_LEVEL_TRACE`
  "Trace" level logging.
  `static final int`
  `LOG_LEVEL_WARN`
  "Warn" level logging.
  `protected String`
  `logName`
  The name of this simple log instance
  `protected static boolean`
  `showDateTime`
  Include the current time in the log message
  `protected static boolean`
  `showLogName`
  Include the instance name in the log message?
  `protected static boolean`
  `showShortName`
  Include the short name (last component) of the logger in the log message.
  `protected static final Properties`
  `simpleLogProps`
  Properties loaded from simplelog.properties
  `protected static final String`
  `systemPrefix`
  All system properties used by `SimpleLog` start with this

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SimpleLog(String name)`
  Constructs a simple log with given name.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final void`
  `debug(Object message)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG`.
  `final void`
  `debug(Object message, Throwable t)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG`.
  `final void`
  `error(Object message)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR`.
  `final void`
  `error(Object message, Throwable t)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR`.
  `final void`
  `fatal(Object message)`
  Log a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL`.
  `final void`
  `fatal(Object message, Throwable t)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL`.
  `int`
  `getLevel()`
  Gets logging level.
  `final void`
  `info(Object message)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO`.
  `final void`
  `info(Object message, Throwable t)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO`.
  `final boolean`
  `isDebugEnabled()`
  Are debug messages currently enabled?
  `final boolean`
  `isErrorEnabled()`
  Are error messages currently enabled?
  `final boolean`
  `isFatalEnabled()`
  Are fatal messages currently enabled?
  `final boolean`
  `isInfoEnabled()`
  Are info messages currently enabled?
  `protected boolean`
  `isLevelEnabled(int logLevel)`
  Tests whether the given log level currently enabled.
  `final boolean`
  `isTraceEnabled()`
  Are trace messages currently enabled?
  `final boolean`
  `isWarnEnabled()`
  Are warn messages currently enabled?
  `protected void`
  `log(int type, Object message, Throwable t)`
  Do the actual logging.
  `void`
  `setLevel(int currentLogLevel)`
  Sets logging level.
  `final void`
  `trace(Object message)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE`.
  `final void`
  `trace(Object message, Throwable t)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE`.
  `final void`
  `warn(Object message)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN`.
  `final void`
  `warn(Object message, Throwable t)`
  Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN`.
  `protected void`
  `write(StringBuffer buffer)`
  Write the content of the message accumulated in the specified `StringBuffer` to the appropriate output destination.

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

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

- ## Field Details

  - ### systemPrefix

    protected static final String systemPrefix
    All system properties used by `SimpleLog` start with this
    See Also:
      - Constant Field Values

  - ### simpleLogProps

    protected static final Properties simpleLogProps
    Properties loaded from simplelog.properties

  - ### DEFAULT_DATE_TIME_FORMAT

    protected static final String DEFAULT_DATE_TIME_FORMAT
    The default format to use when formating dates
    See Also:
      - Constant Field Values

  - ### showLogName

    protected static volatile boolean showLogName
    Include the instance name in the log message?

  - ### showShortName

    protected static volatile boolean showShortName
    Include the short name (last component) of the logger in the log message. Defaults to true - otherwise we'll be lost in a flood of messages without knowing who sends them.

  - ### showDateTime

    protected static volatile boolean showDateTime
    Include the current time in the log message

  - ### dateTimeFormat

    protected static volatile String dateTimeFormat
    The date and time format to use in the log message

  - ### dateFormatter

    protected static DateFormat dateFormatter
    Used to format times.

    Any code that accesses this object should first obtain a lock on it, that is, use synchronized(dateFormatter); this requirement was introduced in 1.1.1 to fix an existing thread safety bug (SimpleDateFormat.format is not thread-safe).

  - ### LOG_LEVEL_TRACE

    public static final int LOG_LEVEL_TRACE
    "Trace" level logging.
    See Also:
      - Constant Field Values

  - ### LOG_LEVEL_DEBUG

    public static final int LOG_LEVEL_DEBUG
    "Debug" level logging.
    See Also:
      - Constant Field Values

  - ### LOG_LEVEL_INFO

    public static final int LOG_LEVEL_INFO
    "Info" level logging.
    See Also:
      - Constant Field Values

  - ### LOG_LEVEL_WARN

    public static final int LOG_LEVEL_WARN
    "Warn" level logging.
    See Also:
      - Constant Field Values

  - ### LOG_LEVEL_ERROR

    public static final int LOG_LEVEL_ERROR
    "Error" level logging.
    See Also:
      - Constant Field Values

  - ### LOG_LEVEL_FATAL

    public static final int LOG_LEVEL_FATAL
    "Fatal" level logging.
    See Also:
      - Constant Field Values

  - ### LOG_LEVEL_ALL

    public static final int LOG_LEVEL_ALL
    Enable all logging levels
    See Also:
      - Constant Field Values

  - ### LOG_LEVEL_OFF

    public static final int LOG_LEVEL_OFF
    Enable no logging levels
    See Also:
      - Constant Field Values

  - ### logName

    protected volatile String logName
    The name of this simple log instance

  - ### currentLogLevel

    protected volatile int currentLogLevel
    The current log level

- ## Constructor Details

  - ### SimpleLog

    public SimpleLog(String name)
    Constructs a simple log with given name.
    Parameters:
      `name` - log name

- ## Method Details

  - ### debug

    public final void debug(Object message)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG`.
    Specified by:
      `debug` in interface `Log`
    Parameters:
      `message` - to log
    See Also:
      - `Log.debug(Object)`

  - ### debug

    public final void debug(Object message, Throwable t)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG`.
    Specified by:
      `debug` in interface `Log`
    Parameters:
      `message` - to log
      `t` - log this cause
    See Also:
      - `Log.debug(Object, Throwable)`

  - ### error

    public final void error(Object message)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR`.
    Specified by:
      `error` in interface `Log`
    Parameters:
      `message` - to log
    See Also:
      - `Log.error(Object)`

  - ### error

    public final void error(Object message, Throwable t)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR`.
    Specified by:
      `error` in interface `Log`
    Parameters:
      `message` - to log
      `t` - log this cause
    See Also:
      - `Log.error(Object, Throwable)`

  - ### fatal

    public final void fatal(Object message)
    Log a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL`.
    Specified by:
      `fatal` in interface `Log`
    Parameters:
      `message` - to log
    See Also:
      - `Log.fatal(Object)`

  - ### fatal

    public final void fatal(Object message, Throwable t)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL`.
    Specified by:
      `fatal` in interface `Log`
    Parameters:
      `message` - to log
      `t` - log this cause
    See Also:
      - `Log.fatal(Object, Throwable)`

  - ### getLevel

    public int getLevel()
    Gets logging level.
    Returns:
      logging level.

  - ### info

    public final void info(Object message)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO`.
    Specified by:
      `info` in interface `Log`
    Parameters:
      `message` - to log
    See Also:
      - `Log.info(Object)`

  - ### info

    public final void info(Object message, Throwable t)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO`.
    Specified by:
      `info` in interface `Log`
    Parameters:
      `message` - to log
      `t` - log this cause
    See Also:
      - `Log.info(Object, Throwable)`

  - ### isDebugEnabled

    public final boolean isDebugEnabled()
    Are debug messages currently enabled?

    This allows expensive operations such as `String` concatenation to be avoided when the message will be ignored by the logger.

    Specified by:
      `isDebugEnabled` in interface `Log`
    Returns:
      true if debug is enabled in the underlying logger.

  - ### isErrorEnabled

    public final boolean isErrorEnabled()
    Are error messages currently enabled?

    This allows expensive operations such as `String` concatenation to be avoided when the message will be ignored by the logger.

    Specified by:
      `isErrorEnabled` in interface `Log`
    Returns:
      true if error is enabled in the underlying logger.

  - ### isFatalEnabled

    public final boolean isFatalEnabled()
    Are fatal messages currently enabled?

    This allows expensive operations such as `String` concatenation to be avoided when the message will be ignored by the logger.

    Specified by:
      `isFatalEnabled` in interface `Log`
    Returns:
      true if fatal is enabled in the underlying logger.

  - ### isInfoEnabled

    public final boolean isInfoEnabled()
    Are info messages currently enabled?

    This allows expensive operations such as `String` concatenation to be avoided when the message will be ignored by the logger.

    Specified by:
      `isInfoEnabled` in interface `Log`
    Returns:
      true if info is enabled in the underlying logger.

  - ### isLevelEnabled

    protected boolean isLevelEnabled(int logLevel)
    Tests whether the given log level currently enabled.
    Parameters:
      `logLevel` - is this level enabled?
    Returns:
      whether the given log level currently enabled.

  - ### isTraceEnabled

    public final boolean isTraceEnabled()
    Are trace messages currently enabled?

    This allows expensive operations such as `String` concatenation to be avoided when the message will be ignored by the logger.

    Specified by:
      `isTraceEnabled` in interface `Log`
    Returns:
      true if trace is enabled in the underlying logger.

  - ### isWarnEnabled

    public final boolean isWarnEnabled()
    Are warn messages currently enabled?

    This allows expensive operations such as `String` concatenation to be avoided when the message will be ignored by the logger.

    Specified by:
      `isWarnEnabled` in interface `Log`
    Returns:
      true if warn is enabled in the underlying logger.

  - ### log

    protected void log(int type, Object message, Throwable t)
    Do the actual logging.

    This method assembles the message and then calls `write()` to cause it to be written.

    Parameters:
      `type` - One of the LOG_LEVEL_XXX constants defining the log level
      `message` - The message itself (typically a String)
      `t` - The exception whose stack trace should be logged

  - ### setLevel

    public void setLevel(int currentLogLevel)
    Sets logging level.
    Parameters:
      `currentLogLevel` - new logging level

  - ### trace

    public final void trace(Object message)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE`.
    Specified by:
      `trace` in interface `Log`
    Parameters:
      `message` - to log
    See Also:
      - `Log.trace(Object)`

  - ### trace

    public final void trace(Object message, Throwable t)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE`.
    Specified by:
      `trace` in interface `Log`
    Parameters:
      `message` - to log
      `t` - log this cause
    See Also:
      - `Log.trace(Object, Throwable)`

  - ### warn

    public final void warn(Object message)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN`.
    Specified by:
      `warn` in interface `Log`
    Parameters:
      `message` - to log
    See Also:
      - `Log.warn(Object)`

  - ### warn

    public final void warn(Object message, Throwable t)
    Logs a message with `org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN`.
    Specified by:
      `warn` in interface `Log`
    Parameters:
      `message` - to log
      `t` - log this cause
    See Also:
      - `Log.warn(Object, Throwable)`

  - ### write

    protected void write(StringBuffer buffer)
    Write the content of the message accumulated in the specified `StringBuffer` to the appropriate output destination. The default implementation writes to `System.err`.
    Parameters:
      `buffer` - A `StringBuffer` containing the accumulated text to be logged