org.logicalcobwebs.logging.impl
Class SimpleLog

java.lang.Object
  extended by org.logicalcobwebs.logging.impl.SimpleLog
All Implemented Interfaces:
Log

public class SimpleLog
extends java.lang.Object
implements Log

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:

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.4 2005/05/04 16:02:05 billhorsman Exp $
Author:
Scott Sanders, Rod Waldhoff, Robert Burrell Donkin

Field Summary
private  int currentLogLevel
          The current log level
private static java.text.DateFormat dateFormatter
          Used to format times
static int LOG_LEVEL_ALL
          Enable all logging levels
static 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 levels
static int LOG_LEVEL_TRACE
          "Trace" level logging.
static int LOG_LEVEL_WARN
          "Warn" level logging.
private  java.lang.String logName
          The name of this simple log instance
private  java.lang.String prefix
           
private static boolean showDateTime
          Include the current time in the log message
private static boolean showLogName
          Include the instance name in the log message?
private static boolean showShortName
          Include the short name (last component) of the logger in the log message.
protected static java.util.Properties SIMLE_LOG_PROPS
          All system properties which start with SYSTEM_PREFIX
protected static java.lang.String SYSTEM_PREFIX
          All system properties used by Simple start with this
 
Constructor Summary
SimpleLog(java.lang.String name)
          Construct a simple log with given name.
 
Method Summary
 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.
 int getLevel()
           Get logging level.
 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 debug log level.
 void trace(java.lang.Object message, java.lang.Throwable t)
           Log an error with debug 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SYSTEM_PREFIX

protected static final java.lang.String SYSTEM_PREFIX
All system properties used by Simple start with this

See Also:
Constant Field Values

SIMLE_LOG_PROPS

protected static final java.util.Properties SIMLE_LOG_PROPS
All system properties which start with SYSTEM_PREFIX


showLogName

private static boolean showLogName
Include the instance name in the log message?


showShortName

private static boolean showShortName
Include the short name (last component) of the logger in the log message. Default to true - otherwise we'll be lost in a flood of messages without knowing who sends them.


showDateTime

private static boolean showDateTime
Include the current time in the log message


dateFormatter

private 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

private java.lang.String logName
The name of this simple log instance


currentLogLevel

private int currentLogLevel
The current log level


prefix

private java.lang.String prefix
Constructor Detail

SimpleLog

public SimpleLog(java.lang.String name)
Construct a simple log with given name.

Parameters:
name - log name
Method Detail

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 prints to System.err.


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.

Specified by:
debug in interface Log
Parameters:
message - log this message

debug

public final void debug(java.lang.Object message,
                        java.lang.Throwable t)

Log an error with debug log level.

Specified by:
debug in interface Log
Parameters:
message - log this message
t - log this cause

trace

public final void trace(java.lang.Object message)

Log a message with debug log level.

Specified by:
trace in interface Log
Parameters:
message - log this message

trace

public final void trace(java.lang.Object message,
                        java.lang.Throwable t)

Log an error with debug log level.

Specified by:
trace in interface Log
Parameters:
message - log this message
t - log this cause

info

public final void info(java.lang.Object message)

Log a message with info log level.

Specified by:
info in interface Log
Parameters:
message - log this message

info

public final void info(java.lang.Object message,
                       java.lang.Throwable t)

Log an error with info log level.

Specified by:
info in interface Log
Parameters:
message - log this message
t - log this cause

warn

public final void warn(java.lang.Object message)

Log a message with warn log level.

Specified by:
warn in interface Log
Parameters:
message - log this message

warn

public final void warn(java.lang.Object message,
                       java.lang.Throwable t)

Log an error with warn log level.

Specified by:
warn in interface Log
Parameters:
message - log this message
t - log this cause

error

public final void error(java.lang.Object message)

Log a message with error log level.

Specified by:
error in interface Log
Parameters:
message - log this message

error

public final void error(java.lang.Object message,
                        java.lang.Throwable t)

Log an error with error log level.

Specified by:
error in interface Log
Parameters:
message - log this message
t - log this cause

fatal

public final void fatal(java.lang.Object message)

Log a message with fatal log level.

Specified by:
fatal in interface Log
Parameters:
message - log this message

fatal

public final void fatal(java.lang.Object message,
                        java.lang.Throwable t)

Log an error with fatal log level.

Specified by:
fatal in interface Log
Parameters:
message - log this message
t - log this cause

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 interface Log

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 interface Log

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 interface Log

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 interface Log

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 interface Log

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 interface Log