Class SimpleLog
- java.lang.Object
-
- org.apache.commons.logging.impl.SimpleLog
-
- All Implemented Interfaces:
java.io.Serializable,Log
public class SimpleLog extends java.lang.Object implements Log, java.io.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 totrueif you want the Log instance name to be included in output messages. Defaults tofalse.org.apache.commons.logging.simplelog.showShortLogname- Set totrueif you want the last component of the name to be included in output messages. Defaults totrue.org.apache.commons.logging.simplelog.showdatetime- Set totrueif you want the current date and time to be included in output messages. Default isfalse.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 inSimpleDateFormat. If the format is not specified or is invalid, the default format is used. The default format isyyyy/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 intcurrentLogLevelThe current log levelprotected static java.text.DateFormatdateFormatterUsed to format times.protected static java.lang.StringdateTimeFormatThe date and time format to use in the log messageprotected static java.lang.StringDEFAULT_DATE_TIME_FORMATThe default format to use when formating datesstatic intLOG_LEVEL_ALLEnable all logging levelsstatic intLOG_LEVEL_DEBUG"Debug" level logging.static intLOG_LEVEL_ERROR"Error" level logging.static intLOG_LEVEL_FATAL"Fatal" level logging.static intLOG_LEVEL_INFO"Info" level logging.static intLOG_LEVEL_OFFEnable no logging levelsstatic intLOG_LEVEL_TRACE"Trace" level logging.static intLOG_LEVEL_WARN"Warn" level logging.protected java.lang.StringlogNameThe name of this simple log instanceprivate static longserialVersionUIDSerializable version identifier.private java.lang.StringshortLogNameThe short name of this simple log instanceprotected static booleanshowDateTimeInclude the current time in the log messageprotected static booleanshowLogNameInclude the instance name in the log message?protected static booleanshowShortNameInclude the short name (last component) of the logger in the log message.protected static java.util.PropertiessimpleLogPropsProperties loaded from simplelog.propertiesprotected static java.lang.StringsystemPrefixAll system properties used bySimpleLogstart with this
-
Constructor Summary
Constructors Constructor Description SimpleLog(java.lang.String name)Constructs a simple log with given name.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddebug(java.lang.Object message)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG.voiddebug(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.LOG_LEVEL_DEBUG.voiderror(java.lang.Object message)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR.voiderror(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR.voidfatal(java.lang.Object message)Log a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL.voidfatal(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL.private static booleangetBooleanProperty(java.lang.String name, boolean defaultValue)private static java.lang.ClassLoadergetContextClassLoader()Gets the thread context class loader if available.intgetLevel()Gets logging level.private static java.io.InputStreamgetResourceAsStream(java.lang.String name)private static java.text.SimpleDateFormatgetSimpleDateFormat()private static java.lang.StringgetStringProperty(java.lang.String name)private static java.lang.StringgetStringProperty(java.lang.String name, java.lang.String defaultValue)voidinfo(java.lang.Object message)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO.voidinfo(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO.booleanisDebugEnabled()Tests whether debug messages are enabled.booleanisErrorEnabled()Tests whether error messages are enabled.booleanisFatalEnabled()Tests whether fatal messages are enabled.booleanisInfoEnabled()Tests whether info messages are enabled.protected booleanisLevelEnabled(int logLevel)Tests whether the given level is enabled.booleanisTraceEnabled()Tests whether trace messages are enabled.booleanisWarnEnabled()Tests whether warn messages are enabled.protected voidlog(int type, java.lang.Object message, java.lang.Throwable t)Do the actual logging.voidsetLevel(int currentLogLevel)Sets logging level.voidtrace(java.lang.Object message)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE.voidtrace(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE.voidwarn(java.lang.Object message)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.voidwarn(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.private voidwrite(java.lang.Object buffer)Writes the content of the message accumulated in the specifiedStringBufferto the appropriate output destination.protected voidwrite(java.lang.StringBuffer buffer)Writes the content of the message accumulated in the specifiedStringBufferto the appropriate output destination.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serializable version identifier.- See Also:
- Constant Field Values
-
systemPrefix
protected static final java.lang.String systemPrefix
All system properties used bySimpleLogstart with this- See Also:
- Constant Field Values
-
simpleLogProps
protected static final java.util.Properties simpleLogProps
Properties loaded from simplelog.properties
-
DEFAULT_DATE_TIME_FORMAT
protected static final java.lang.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 java.lang.String dateTimeFormat
The date and time format to use in the log message
-
dateFormatter
protected static java.text.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).
Statically initialized to a
SimpleDateFormat.
-
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 java.lang.String logName
The name of this simple log instance
-
currentLogLevel
protected volatile int currentLogLevel
The current log level
-
shortLogName
private volatile java.lang.String shortLogName
The short name of this simple log instance
-
-
Method Detail
-
getBooleanProperty
private static boolean getBooleanProperty(java.lang.String name, boolean defaultValue)
-
getContextClassLoader
private static java.lang.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 java.io.InputStream getResourceAsStream(java.lang.String name)
-
getSimpleDateFormat
private static java.text.SimpleDateFormat getSimpleDateFormat()
-
getStringProperty
private static java.lang.String getStringProperty(java.lang.String name)
-
getStringProperty
private static java.lang.String getStringProperty(java.lang.String name, java.lang.String defaultValue)
-
debug
public final void debug(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG.- Specified by:
debugin interfaceLog- Parameters:
message- to log- See Also:
Log.debug(Object)
-
debug
public final void debug(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.LOG_LEVEL_DEBUG.- Specified by:
debugin interfaceLog- Parameters:
message- to logt- log this cause- See Also:
Log.debug(Object, Throwable)
-
error
public final void error(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR.- Specified by:
errorin interfaceLog- Parameters:
message- to log- See Also:
Log.error(Object)
-
error
public final void error(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR.- Specified by:
errorin interfaceLog- Parameters:
message- to logt- log this cause- See Also:
Log.error(Object, Throwable)
-
fatal
public final void fatal(java.lang.Object message)
Log a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL.- Specified by:
fatalin interfaceLog- Parameters:
message- to log- See Also:
Log.fatal(Object)
-
fatal
public final void fatal(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL.- Specified by:
fatalin interfaceLog- Parameters:
message- to logt- log this cause- See Also:
Log.fatal(Object, Throwable)
-
getLevel
public int getLevel()
Gets logging level.- Returns:
- logging level.
-
info
public final void info(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO.- Specified by:
infoin interfaceLog- Parameters:
message- to log- See Also:
Log.info(Object)
-
info
public final void info(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO.- Specified by:
infoin interfaceLog- Parameters:
message- to logt- log this cause- See Also:
Log.info(Object, Throwable)
-
isDebugEnabled
public final boolean isDebugEnabled()
Tests whether debug messages are enabled.This allows expensive operations such as
Stringconcatenation to be avoided when the message will be ignored by the logger.- Specified by:
isDebugEnabledin interfaceLog- 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
Stringconcatenation to be avoided when the message will be ignored by the logger.- Specified by:
isErrorEnabledin interfaceLog- 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
Stringconcatenation to be avoided when the message will be ignored by the logger.- Specified by:
isFatalEnabledin interfaceLog- 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
Stringconcatenation to be avoided when the message will be ignored by the logger.- Specified by:
isInfoEnabledin interfaceLog- 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
Stringconcatenation to be avoided when the message will be ignored by the logger.- Specified by:
isTraceEnabledin interfaceLog- 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
Stringconcatenation to be avoided when the message will be ignored by the logger.- Specified by:
isWarnEnabledin interfaceLog- Returns:
- true if warn is enabled in the underlying logger.
-
log
protected void log(int type, java.lang.Object message, java.lang.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 levelmessage- 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(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE.- Specified by:
tracein interfaceLog- Parameters:
message- to log- See Also:
Log.trace(Object)
-
trace
public final void trace(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE.- Specified by:
tracein interfaceLog- Parameters:
message- to logt- log this cause- See Also:
Log.trace(Object, Throwable)
-
warn
public final void warn(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.- Specified by:
warnin interfaceLog- Parameters:
message- to log- See Also:
Log.warn(Object)
-
warn
public final void warn(java.lang.Object message, java.lang.Throwable t)Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN.- Specified by:
warnin interfaceLog- Parameters:
message- to logt- log this cause- See Also:
Log.warn(Object, Throwable)
-
write
private void write(java.lang.Object buffer)
Writes the content of the message accumulated in the specifiedStringBufferto the appropriate output destination. The default implementation writes toSystem.err.- Parameters:
buffer- AStringBuffercontaining the accumulated text to be logged
-
write
protected void write(java.lang.StringBuffer buffer)
Writes the content of the message accumulated in the specifiedStringBufferto the appropriate output destination. The default implementation writes toSystem.err.- Parameters:
buffer- AStringBuffercontaining the accumulated text to be logged
-
-