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:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
    The current log level
    protected static DateFormat
    Used to format times.
    protected static String
    The date and time format to use in the log message
    protected static final String
    The default format to use when formating dates
    static final int
    Enable all logging levels
    static final int
    "Debug" level logging.
    static final int
    "Error" level logging.
    static final int
    "Fatal" level logging.
    static final int
    "Info" level logging.
    static final int
    Enable no logging levels
    static final int
    "Trace" level logging.
    static final int
    "Warn" level logging.
    protected String
    The name of this simple log instance
    private static final long
    Serializable version identifier.
    private String
    The short name of this simple log instance
    protected static boolean
    Include the current time in the log message
    protected static boolean
    Include the instance name in the log message?
    protected static boolean
    Include the short name (last component) of the logger in the log message.
    protected static final Properties
    Properties loaded from simplelog.properties
    protected static final String
    All system properties used by SimpleLog start with this
  • Constructor Summary

    Constructors
    Constructor
    Description
    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.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.
    private static boolean
    getBooleanProperty(String name, boolean defaultValue)
     
    private static ClassLoader
    Gets the thread context class loader if available.
    int
    Gets logging level.
    private static InputStream
     
    private static String
     
    private static String
    getStringProperty(String name, String defaultValue)
     
    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
    Tests whether debug messages are enabled.
    final boolean
    Tests whether error messages are enabled.
    final boolean
    Tests whether fatal messages are enabled.
    final boolean
    Tests whether info messages are enabled.
    protected boolean
    isLevelEnabled(int logLevel)
    Tests whether the given level is enabled.
    final boolean
    Tests whether trace messages are enabled.
    final boolean
    Tests whether warn messages are 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.
    private void
    write(Object buffer)
    Writes the content of the message accumulated in the specified StringBuffer to the appropriate output destination.
    protected void
    Writes 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

    • serialVersionUID

      private static final long serialVersionUID
      Serializable version identifier.
      See Also:
    • systemPrefix

      protected static final String systemPrefix
      All system properties used by SimpleLog start with this
      See Also:
    • 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:
    • 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:
    • LOG_LEVEL_DEBUG

      public static final int LOG_LEVEL_DEBUG
      "Debug" level logging.
      See Also:
    • LOG_LEVEL_INFO

      public static final int LOG_LEVEL_INFO
      "Info" level logging.
      See Also:
    • LOG_LEVEL_WARN

      public static final int LOG_LEVEL_WARN
      "Warn" level logging.
      See Also:
    • LOG_LEVEL_ERROR

      public static final int LOG_LEVEL_ERROR
      "Error" level logging.
      See Also:
    • LOG_LEVEL_FATAL

      public static final int LOG_LEVEL_FATAL
      "Fatal" level logging.
      See Also:
    • LOG_LEVEL_ALL

      public static final int LOG_LEVEL_ALL
      Enable all logging levels
      See Also:
    • LOG_LEVEL_OFF

      public static final int LOG_LEVEL_OFF
      Enable no logging levels
      See Also:
    • logName

      protected volatile String logName
      The name of this simple log instance
    • currentLogLevel

      protected volatile int currentLogLevel
      The current log level
    • shortLogName

      private volatile String shortLogName
      The short name of this simple log instance
  • Constructor Details

    • SimpleLog

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

    • getBooleanProperty

      private static boolean getBooleanProperty(String name, boolean defaultValue)
    • getContextClassLoader

      private static ClassLoader getContextClassLoader()
      Gets the thread context class loader if available. Otherwise return null. The thread context class loader is available if certain security conditions are met.
      Throws:
      LogConfigurationException - if a suitable class loader cannot be identified.
    • getResourceAsStream

      private static InputStream getResourceAsStream(String name)
    • getStringProperty

      private static String getStringProperty(String name)
    • getStringProperty

      private static String getStringProperty(String name, String defaultValue)
    • 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:
    • debug

      public final void debug(Object message, Throwable t)
      Logs a message with org.apache.commons.logging.impl.LOG_LEVEL_DEBUG.
      Specified by:
      debug in interface Log
      Parameters:
      message - to log
      t - log this cause
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • isDebugEnabled

      public final boolean isDebugEnabled()
      Tests whether debug messages are 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()
      Tests whether error messages are 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()
      Tests whether fatal messages are 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()
      Tests whether info messages are 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 level is enabled.
      Parameters:
      logLevel - is this level enabled?
      Returns:
      whether the given log level currently enabled.
    • isTraceEnabled

      public final boolean isTraceEnabled()
      Tests whether trace messages are 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()
      Tests whether warn messages are 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:
    • 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:
    • 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:
    • 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:
    • write

      private void write(Object buffer)
      Writes 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
    • write

      protected void write(StringBuffer buffer)
      Writes 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