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,v 1.21 2004/06/06 20:47:56 rdonkin Exp $
- 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 timesprotected 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 formatting 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
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)
Log a message with debug log level.void
debug(java.lang.Object message, java.lang.Throwable t)
Log an error with debug log level.void
error(java.lang.Object message)
Log a message with error log level.void
error(java.lang.Object message, java.lang.Throwable t)
Log an error with error log level.void
fatal(java.lang.Object message)
Log a message with fatal log level.void
fatal(java.lang.Object message, java.lang.Throwable t)
Log an error with fatal log level.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)
Log a message with info log level.void
info(java.lang.Object message, java.lang.Throwable t)
Log an error with info log level.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)
Log a message with trace log level.void
trace(java.lang.Object message, java.lang.Throwable t)
Log an error with trace log level.void
warn(java.lang.Object message)
Log a message with warn log level.void
warn(java.lang.Object message, java.lang.Throwable t)
Log an error with warn log level.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
- 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 formatting dates- See Also:
- Constant Field Values
-
showLogName
protected static boolean showLogName
Include the instance name in the log message?
-
showShortName
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.
-
showDateTime
protected static boolean showDateTime
Include the current time in the log message
-
dateTimeFormat
protected static 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
-
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 java.lang.String logName
The name of this simple log instance
-
currentLogLevel
protected int currentLogLevel
The current log level
-
shortLogName
private 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 specified
StringBuffer
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)
Log a message with debug log level.
-
debug
public final void debug(java.lang.Object message, java.lang.Throwable t)
Log an error with debug log level.
-
trace
public final void trace(java.lang.Object message)
Log a message with trace log level.
-
trace
public final void trace(java.lang.Object message, java.lang.Throwable t)
Log an error with trace log level.
-
info
public final void info(java.lang.Object message)
Log a message with info log level.
-
info
public final void info(java.lang.Object message, java.lang.Throwable t)
Log an error with info log level.
-
warn
public final void warn(java.lang.Object message)
Log a message with warn log level.
-
warn
public final void warn(java.lang.Object message, java.lang.Throwable t)
Log an error with warn log level.
-
error
public final void error(java.lang.Object message)
Log a message with error log level.
-
error
public final void error(java.lang.Object message, java.lang.Throwable t)
Log an error with error log level.
-
fatal
public final void fatal(java.lang.Object message)
Log a message with fatal log level.
-
fatal
public final void fatal(java.lang.Object message, java.lang.Throwable t)
Log an error with fatal log level.
-
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
-
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
-
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
-
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 enabled, false otherwise
-
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 enabled, false otherwise
-
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
-
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)
-
-