public class

SimpleLog

extends Object
implements Serializable Log
java.lang.Object
   ↳ org.apache.commons.logging.impl.SimpleLog

Class Overview

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 java.text.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).

Summary

Constants
String DEFAULT_DATE_TIME_FORMAT The default format to use when formating dates
int LOG_LEVEL_ALL Enable all logging levels
int LOG_LEVEL_DEBUG "Debug" level logging.
int LOG_LEVEL_ERROR "Error" level logging.
int LOG_LEVEL_FATAL "Fatal" level logging.
int LOG_LEVEL_INFO "Info" level logging.
int LOG_LEVEL_OFF Enable no logging levels
int LOG_LEVEL_TRACE "Trace" level logging.
int LOG_LEVEL_WARN "Warn" level logging.
String systemPrefix All system properties used by SimpleLog start with this
Fields
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 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
Public Constructors
SimpleLog(String name)
Construct a simple log with given name.
Public Methods
final void debug(Object message, Throwable t)
Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG.
final void debug(Object message)
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()

Get 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?

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

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.

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.

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.

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.

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.

void setLevel(int currentLogLevel)

Set 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, Throwable t)
Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.
final void warn(Object message)
Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.
Protected Methods
boolean isLevelEnabled(int logLevel)
Is the given log level currently enabled?
void log(int type, Object message, Throwable t)

Do the actual logging.

void write(StringBuffer buffer)

Write the content of the message accumulated in the specified StringBuffer to the appropriate output destination.

[Expand]
Inherited Methods
From class java.lang.Object
From interface org.apache.commons.logging.Log

Constants

protected static final String DEFAULT_DATE_TIME_FORMAT

The default format to use when formating dates

Constant Value: "yyyy/MM/dd HH:mm:ss:SSS zzz"

public static final int LOG_LEVEL_ALL

Enable all logging levels

Constant Value: 0 (0x00000000)

public static final int LOG_LEVEL_DEBUG

"Debug" level logging.

Constant Value: 2 (0x00000002)

public static final int LOG_LEVEL_ERROR

"Error" level logging.

Constant Value: 5 (0x00000005)

public static final int LOG_LEVEL_FATAL

"Fatal" level logging.

Constant Value: 6 (0x00000006)

public static final int LOG_LEVEL_INFO

"Info" level logging.

Constant Value: 3 (0x00000003)

public static final int LOG_LEVEL_OFF

Enable no logging levels

Constant Value: 7 (0x00000007)

public static final int LOG_LEVEL_TRACE

"Trace" level logging.

Constant Value: 1 (0x00000001)

public static final int LOG_LEVEL_WARN

"Warn" level logging.

Constant Value: 4 (0x00000004)

protected static final String systemPrefix

All system properties used by SimpleLog start with this

Constant Value: "org.apache.commons.logging.simplelog."

Fields

protected int currentLogLevel

The current log level

protected static DateFormat dateFormatter

Used to format times.

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

protected static String dateTimeFormat

The date and time format to use in the log message

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. Defaults to true - otherwise we'll be lost in a flood of messages without knowing who sends them.

protected static final Properties simpleLogProps

Properties loaded from simplelog.properties

Public Constructors

public SimpleLog (String name)

Construct a simple log with given name.

Parameters
name log name

Public Methods

public final void debug (Object message, Throwable t)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG.

Parameters
message to log
t log this cause

public final void debug (Object message)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG.

Parameters
message to log
See Also

public final void error (Object message)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR.

Parameters
message to log
See Also

public final void error (Object message, Throwable t)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR.

Parameters
message to log
t log this cause

public final void fatal (Object message)

Log a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL.

Parameters
message to log
See Also

public final void fatal (Object message, Throwable t)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL.

Parameters
message to log
t log this cause

public int getLevel ()

Get logging level.

public final void info (Object message)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO.

Parameters
message to log
See Also

public final void info (Object message, Throwable t)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO.

Parameters
message to log
t log this cause

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.

Returns
  • true if debug is enabled in the underlying logger.

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.

Returns
  • true if error is enabled in the underlying logger.

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.

Returns
  • true if fatal is enabled in the underlying logger.

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.

Returns
  • true if info is enabled in the underlying logger.

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.

Returns
  • true if trace is enabled in the underlying logger.

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.

Returns
  • true if warn is enabled in the underlying logger.

public void setLevel (int currentLogLevel)

Set logging level.

Parameters
currentLogLevel new logging level

public final void trace (Object message)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE.

Parameters
message to log
See Also

public final void trace (Object message, Throwable t)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE.

Parameters
message to log
t log this cause

public final void warn (Object message, Throwable t)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.

Parameters
message to log
t log this cause

public final void warn (Object message)

Logs a message with org.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.

Parameters
message to log
See Also

Protected Methods

protected boolean isLevelEnabled (int logLevel)

Is the given log level currently enabled?

Parameters
logLevel is this level enabled?

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

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