org.productivity.java.habitat4j.common
Class Habitat4JLogger

java.lang.Object
  extended by org.productivity.java.habitat4j.common.Habitat4JLogger
All Implemented Interfaces:
Habitat4JConstants

public class Habitat4JLogger
extends java.lang.Object
implements Habitat4JConstants

The Habitat4JLogger Singleton class wraps a simple System.out/System.err logger as well as log4j, and allows the developer/end user to switch between them as necessary. No log4j classes are used at compile time; reflection is used to load the classes dynamically at runtime.

By default, Habitat4J logs to System.out/System.err. To change this to log4j:

   Habitat4JLogger logger = Habitat4JLogger.getInstance();
   logger.selectLog4j();
 

To switch back:

 
   Habitat4JLogger logger = Habitat4JLogger.getInstance();
   logger.selectSystem();
 

When using Habitat4JLogger in System.out/System.err mode, the default logging level is INFO. To change this to DEBUG, for instance, use:

   logger.setLevel(DEBUG):
 

or:

   logger.setLevel("debug"):
 

## LICENSE INFORMATION ##

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Version:
$Id: Habitat4JLogger.html,v 1.2 2008/11/24 15:15:06 cvs Exp $
Author:
Justin Yunke <habitat4j@productivity.org>

Field Summary
static byte DEBUG
           
protected static byte DEFAULT_LEVEL
           
static byte ERROR
           
static byte FATAL
           
static byte INFO
           
protected static java.lang.String[] LevelLogText
           
protected static java.lang.String[] LevelMethodNames
           
protected static byte MODE_LOG4J
           
protected static byte MODE_SYSTEM
           
static byte WARN
           
 
Fields inherited from interface org.productivity.java.habitat4j.common.Habitat4JConstants
EOL_SEQUENCE, HABITAT4J_APPNAME_ATTRIBUTE_NAME, HABITAT4J_APPNAME_DEFAULT, HABITAT4J_CONTEXT_APPLICATION_NAME, HABITAT4J_CONTEXT_ENVIRONMENT, HABITAT4J_CONTEXT_INSTANCE_DESCRIPTION, HABITAT4J_CONTEXT_INSTANCE_ENUMERATION, HABITAT4J_CONTEXT_INSTANCE_NAME, HABITAT4J_CONTEXT_INSTANCE_OS, HABITAT4J_CONTEXT_LEGAL_ROLE_NAMES, HABITAT4J_CONTEXT_PREFIX, HABITAT4J_CONTEXT_ROLE_NAME, HABITAT4J_CONTEXT_ROLE_PATCH_LEVEL, HABITAT4J_CONTEXT_ROLE_PRODUCT, HABITAT4J_CONTEXT_ROLE_TYPE, HABITAT4J_CONTEXT_ROLE_VENDOR, HABITAT4J_CONTEXT_ROLE_VERSION, HABITAT4J_DEFINITIONS_PACKAGE, HABITAT4J_GENERIC_VALUE_DEFAULT, HABITAT4J_GENERIC_VALUE_EMPTY_STRING, HABITAT4J_GENERIC_VALUE_FALSE, HABITAT4J_GENERIC_VALUE_NO, HABITAT4J_GENERIC_VALUE_OFF, HABITAT4J_GENERIC_VALUE_ON, HABITAT4J_GENERIC_VALUE_ONE, HABITAT4J_GENERIC_VALUE_TRUE, HABITAT4J_GENERIC_VALUE_YES, HABITAT4J_GENERIC_VALUE_ZERO, HABITAT4J_HIDDEN_FIELD_DECODED, HABITAT4J_HIDDEN_FIELD_DECODED_DECRYPTED, HABITAT4J_HIDDEN_FIELD_DECRYPTED, HABITAT4J_LOG4J_LOGGER, HABITAT4J_LOG4J_LOGMANAGER_CLASS, HABITAT4J_LOG4J_LOGMANAGER_GETLOGGER_METHOD, HABITAT4J_PRAGMA_ATTRIBUTE_NAME, HABITAT4J_PRAGMA_ATTRIBUTE_VALUE, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_APPEND, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_PREPEND, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_ARRAY_ITEM_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_APPEND, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_PREPEND, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_BEAN_ARRAY_ITEM_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_ITEM_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_CLASS_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_VALUE_REFLECT, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_VALUE_SERIALIZE, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_ID_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_HASH_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_HASH_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_HASH_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_BEAN_HASH_INSTANCE_ATTRIBUTE_VALUE_REVISE, HABITAT4J_PROPERTY_BEAN_HASH_ITEM_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_HASH_ITEM_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_HASH_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ID_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_VALUE_REVISE, HABITAT4J_PROPERTY_BEAN_NAME_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_VALUE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_DECODING_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_DECRYPTING_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_VALUE_REVISE, HABITAT4J_PROPERTY_HASH_ITEM_METHOD_PREFIX, HABITAT4J_PROPERTY_HASH_KEY_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_HASH_TYPE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_KIND_HABITAT4J, HABITAT4J_PROPERTY_KIND_SECURITY, HABITAT4J_PROPERTY_KIND_SYSTEM, HABITAT4J_PROPERTY_LIST_NAME_DEFAULT, HABITAT4J_PROPERTY_LIST_TO_STRING_ITEMS_PER_LINE_DEFAULT, HABITAT4J_PROPERTY_LIST_XSD_RESOURCE_PATH_DEFAULT, HABITAT4J_PROPERTY_NAME_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_TYPE_DELIMITER, HABITAT4J_PROPERTY_VALUE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_VALUE_SUBSTITUTION_DELIMITER, HABITAT4J_PROPERTY_VALUE_SUBSTITUTION_PREFIX, HABITAT4J_PROPERTY_VALUE_SUBSTITUTION_SUFFIX, HABITAT4J_ROLE_ATTRIBUTE_NAME, HABITAT4J_SAX_DRIVER_DEFAULT, HABITAT4J_SAX_DRIVER_SYSTEM_PROPERTY_NAME, HABITAT4J_SAX_SCHEMA_FEATURE, HABITAT4J_SAX_VALIDATION_FEATURE, HABITAT4J_SAX_XSD_LOCATION, HABITAT4J_SERVER_IDENTITY_FILE_PATH_DEFAULT, HABITAT4J_SERVER_IDENTITY_FILE_PATH_SYSTEM_PROPERTY_NAME, HABITAT4J_SERVER_IDENTITY_XSD_RESOURCE_PATH_DEFAULT, HABITAT4J_TEMP_PROPERTY_LIST_PREFIX, HABITAT4J_UNIX_OS_NAME_LIST_PROPERTY_NAME, HABITAT4J_VERSION, HABITAT4J_WINDOWS_OS_NAME_LIST_PROPERTY_NAME, HABITAT4J_XML_ELEMENT_DELIMITER, SAX_DRIVER_SYSTEM_PROPERTY_NAME, SERVER_IDENTITY_INSTANCE_OS_OTHER, SERVER_IDENTITY_INSTANCE_OS_UNIX, SERVER_IDENTITY_INSTANCE_OS_WINDOWS, SERVER_IDENTITY_MODE_FILE, SERVER_IDENTITY_MODE_JVM, SERVER_IDENTITY_MODE_JVM_ENVIRONMENT, SERVER_IDENTITY_MODE_JVM_INSTANCE_DESCRIPTION, SERVER_IDENTITY_MODE_JVM_INSTANCE_ENUMERATION, SERVER_IDENTITY_MODE_JVM_INSTANCE_NAME, SERVER_IDENTITY_MODE_NULL, SYSTEM_PROPERTY_OS_NAME
 
Method Summary
 void debug(java.lang.String logText)
           
 void debug(java.lang.Throwable throwable)
           
 void error(java.lang.String logText)
           
 void error(java.lang.Throwable throwable)
           
 void fatal(java.lang.String logText)
           
 void fatal(java.lang.Throwable throwable)
           
static Habitat4JLogger getInstance()
           
 byte getLevel()
           
protected  byte getMode()
           
 byte getSystemErrLevel()
           
 void info(java.lang.String logText)
           
 void info(java.lang.Throwable throwable)
           
 void log(byte level, java.lang.String logText)
          This method logs data to the appropriate log facility.
 void selectLog4j()
          This method selects the log4j mode of logging within Habitat4J.
 void selectSystem()
          This method selects the System.out/System.err mode of logging within Habitat4J.
 void setLevel(byte level)
           
 void setLevel(java.lang.String level)
          Sets the logging level.
protected  void setMode(byte mode)
           
 void setSystemErrLevel(byte systemErrLevel)
           
 void warn(java.lang.String logText)
           
 void warn(java.lang.Throwable throwable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODE_SYSTEM

protected static final byte MODE_SYSTEM
See Also:
Constant Field Values

MODE_LOG4J

protected static final byte MODE_LOG4J
See Also:
Constant Field Values

DEBUG

public static final byte DEBUG
See Also:
Constant Field Values

INFO

public static final byte INFO
See Also:
Constant Field Values

WARN

public static final byte WARN
See Also:
Constant Field Values

ERROR

public static final byte ERROR
See Also:
Constant Field Values

FATAL

public static final byte FATAL
See Also:
Constant Field Values

DEFAULT_LEVEL

protected static final byte DEFAULT_LEVEL
See Also:
Constant Field Values

LevelMethodNames

protected static final java.lang.String[] LevelMethodNames

LevelLogText

protected static final java.lang.String[] LevelLogText
Method Detail

getInstance

public static Habitat4JLogger getInstance()

selectLog4j

public void selectLog4j()
This method selects the log4j mode of logging within Habitat4J.


selectSystem

public void selectSystem()
This method selects the System.out/System.err mode of logging within Habitat4J.


log

public void log(byte level,
                java.lang.String logText)
This method logs data to the appropriate log facility.

Parameters:
level - - the level to indicate in the log
logText - - the text to display in the log

debug

public void debug(java.lang.String logText)
Parameters:
logText - - the debug text to display in the log

info

public void info(java.lang.String logText)
Parameters:
logText - - the info text to display in the log

warn

public void warn(java.lang.String logText)
Parameters:
logText - - the warn text to display in the log

error

public void error(java.lang.String logText)
Parameters:
logText - - the error text to display in the log

fatal

public void fatal(java.lang.String logText)
Parameters:
logText - - the fatal text to display in the log

debug

public void debug(java.lang.Throwable throwable)
Parameters:
throwable - - the instance of Throwable to debug log

info

public void info(java.lang.Throwable throwable)
Parameters:
throwable - - the instance of Throwable to info log

warn

public void warn(java.lang.Throwable throwable)
Parameters:
throwable - - the instance of Throwable to warn log

error

public void error(java.lang.Throwable throwable)
Parameters:
throwable - - the instance of Throwable to error log

fatal

public void fatal(java.lang.Throwable throwable)
Parameters:
throwable - - the instance of Throwable to fatal log

getMode

protected byte getMode()
Returns:
Returns the mode.

setMode

protected void setMode(byte mode)
Parameters:
mode - The mode to set.

getLevel

public byte getLevel()
Returns:
Returns the level

setLevel

public void setLevel(byte level)
Parameters:
level - - the logging level to set

setLevel

public void setLevel(java.lang.String level)
Sets the logging level. Must be a String containing one of the following (case insensitive):

Parameters:
level - - the logging level to set

getSystemErrLevel

public byte getSystemErrLevel()
Returns:
Returns the systemErrLevel.

setSystemErrLevel

public void setSystemErrLevel(byte systemErrLevel)
Parameters:
systemErrLevel - The systemErrLevel to set.