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 totrue
if you want the Log instance name to be included in output messages. Defaults tofalse
.org.apache.commons.logging.simplelog.showShortLogname
- Set totrue
if you want the last component of the name to be included in output messages. Defaults totrue
.org.apache.commons.logging.simplelog.showdatetime
- Set totrue
if 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 injava.text.SimpleDateFormat
. 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).- Version:
- $Id: SimpleLog.java 1435115 2013-01-18 12:40:19Z tn $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
currentLogLevel
The current log levelprotected static java.text.DateFormat
dateFormatter
Used to format times.protected static java.lang.String
dateTimeFormat
The date and time format to use in the log messageprotected static java.lang.String
DEFAULT_DATE_TIME_FORMAT
The default format to use when formating datesstatic int
LOG_LEVEL_ALL
Enable all logging levelsstatic int
LOG_LEVEL_DEBUG
"Debug" level logging.static int
LOG_LEVEL_ERROR
"Error" level logging.static int
LOG_LEVEL_FATAL
"Fatal" level logging.static int
LOG_LEVEL_INFO
"Info" level logging.static int
LOG_LEVEL_OFF
Enable no logging levelsstatic int
LOG_LEVEL_TRACE
"Trace" level logging.static int
LOG_LEVEL_WARN
"Warn" level logging.protected java.lang.String
logName
The name of this simple log instanceprivate static long
serialVersionUID
Serializable version identifier.private java.lang.String
shortLogName
The short name of this simple log instanceprotected static boolean
showDateTime
Include the current time in the log messageprotected 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 java.util.Properties
simpleLogProps
Properties loaded from simplelog.propertiesprotected static java.lang.String
systemPrefix
All system properties used bySimpleLog
start with this
-
Constructor Summary
Constructors Constructor Description SimpleLog(java.lang.String name)
Construct a simple log with given name.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
debug(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG
.void
debug(java.lang.Object message, java.lang.Throwable t)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG
.void
error(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR
.void
error(java.lang.Object message, java.lang.Throwable t)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_ERROR
.void
fatal(java.lang.Object message)
Log a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL
.void
fatal(java.lang.Object message, java.lang.Throwable t)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_FATAL
.private static boolean
getBooleanProperty(java.lang.String name, boolean dephault)
private static java.lang.ClassLoader
getContextClassLoader()
Return the thread context class loader if available.int
getLevel()
Get logging level.private static java.io.InputStream
getResourceAsStream(java.lang.String name)
private static java.lang.String
getStringProperty(java.lang.String name)
private static java.lang.String
getStringProperty(java.lang.String name, java.lang.String dephault)
void
info(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO
.void
info(java.lang.Object message, java.lang.Throwable t)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO
.boolean
isDebugEnabled()
Are debug messages currently enabled?boolean
isErrorEnabled()
Are error messages currently enabled?boolean
isFatalEnabled()
Are fatal messages currently enabled?boolean
isInfoEnabled()
Are info messages currently enabled?protected boolean
isLevelEnabled(int logLevel)
Is the given log level currently enabled?boolean
isTraceEnabled()
Are trace messages currently enabled?boolean
isWarnEnabled()
Are warn messages currently enabled?protected void
log(int type, java.lang.Object message, java.lang.Throwable t)
Do the actual logging.void
setLevel(int currentLogLevel)
Set logging level.void
trace(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE
.void
trace(java.lang.Object message, java.lang.Throwable t)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE
.void
warn(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN
.void
warn(java.lang.Object message, java.lang.Throwable t)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_WARN
.protected void
write(java.lang.StringBuffer buffer)
Write the content of the message accumulated in the specifiedStringBuffer
to 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 bySimpleLog
start 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, 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).
-
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
-
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 dephault)
-
getBooleanProperty
private static boolean getBooleanProperty(java.lang.String name, boolean dephault)
-
setLevel
public void setLevel(int currentLogLevel)
Set logging level.- Parameters:
currentLogLevel
- new logging level
-
getLevel
public int getLevel()
Get logging level.
-
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
-
write
protected void write(java.lang.StringBuffer buffer)
Write the content of the message accumulated in the specifiedStringBuffer
to the appropriate output destination. The default implementation writes toSystem.err
.- Parameters:
buffer
- AStringBuffer
containing the accumulated text to be logged
-
isLevelEnabled
protected boolean isLevelEnabled(int logLevel)
Is the given log level currently enabled?- Parameters:
logLevel
- is this level enabled?
-
debug
public final void debug(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_DEBUG
.- Specified by:
debug
in 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.SimpleLog.LOG_LEVEL_DEBUG
.- Specified by:
debug
in interfaceLog
- Parameters:
message
- to logt
- log this cause- See Also:
Log.debug(Object, Throwable)
-
trace
public final void trace(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_TRACE
.- Specified by:
trace
in 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:
trace
in interfaceLog
- Parameters:
message
- to logt
- log this cause- See Also:
Log.trace(Object, Throwable)
-
info
public final void info(java.lang.Object message)
Logs a message withorg.apache.commons.logging.impl.SimpleLog.LOG_LEVEL_INFO
.- Specified by:
info
in 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:
info
in interfaceLog
- Parameters:
message
- to logt
- log this cause- See Also:
Log.info(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:
warn
in 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:
warn
in interfaceLog
- Parameters:
message
- to logt
- log this cause- See Also:
Log.warn(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:
error
in 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:
error
in 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:
fatal
in 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:
fatal
in interfaceLog
- Parameters:
message
- to logt
- log this cause- See Also:
Log.fatal(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 interfaceLog
- 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 interfaceLog
- 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 interfaceLog
- 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 interfaceLog
- Returns:
- true if info is enabled in the underlying logger.
-
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 interfaceLog
- 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 interfaceLog
- Returns:
- true if warn is enabled in the underlying logger.
-
getContextClassLoader
private static java.lang.ClassLoader getContextClassLoader()
Return the thread context class loader if available. Otherwise return null. The thread context class loader is available for JDK 1.2 or later, 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)
-
-