Project Wonder 2.0

er.extensions
Class ERXLogger

java.lang.Object
  extended byorg.apache.log4j.Category
      extended byorg.apache.log4j.Logger
          extended byer.extensions.ERXLogger
All Implemented Interfaces:
AppenderAttachable

public class ERXLogger
extends Logger

Custom subclass of Logger. The main reason for this class is to isolate the log4j dependency to only this class. This gives us the freedom in the future to switch logging systems and this should be the only effected class .. in theory.


Nested Class Summary
static class ERXLogger.Factory
          LoggerFactory subclass that creates ERXLogger objects instead of the default Logger classes.
 
Field Summary
static ERXLogger.Factory factory
           
static Logger log
          logging supprt
 
Fields inherited from class org.apache.log4j.Category
additive, level, name, parent, repository, resourceBundle
 
Constructor Summary
ERXLogger(String name)
          Default constructor.
 
Method Summary
static void configureLogging(Properties properties)
          Sets up the logging system with the given configuration in Properties format.
static void configureLoggingWithSystemProperties()
           
 void debugStackTrace(Throwable throwable)
          Dumps an Throwable's Stack trace on the appender if debugging is enabled.
static ERXLogger getERXLogger(Class clazz)
          Creates a logger for a given class object.
static ERXLogger getERXLogger(Class clazz, String subTopic)
          Creates a logger for the given class object plus a restricting subtopic.
static ERXLogger getERXLogger(String name)
          Main entry point for getting an ERXLogger for a given name.
static Logger getLogger(Class clazz)
           
static ERXLogger getLogger(Class clazz, String subTopic)
           
static Logger getLogger(String name)
          Overrides method of superclass to return a logger using our custom ERXLogger$Factory class.
 
Methods inherited from class org.apache.log4j.Logger
getLogger, getRootLogger
 
Methods inherited from class org.apache.log4j.Category
addAppender, assertLog, callAppenders, debug, debug, error, error, exists, fatal, fatal, forcedLog, getAdditivity, getAllAppenders, getAppender, getChainedPriority, getCurrentCategories, getDefaultHierarchy, getEffectiveLevel, getHierarchy, getInstance, getInstance, getLevel, getLoggerRepository, getName, getParent, getPriority, getResourceBundle, getResourceBundleString, getRoot, info, info, isAttached, isDebugEnabled, isEnabledFor, isInfoEnabled, l7dlog, l7dlog, log, log, log, removeAllAppenders, removeAppender, removeAppender, setAdditivity, setLevel, setPriority, setResourceBundle, shutdown, warn, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

public static Logger log
logging supprt


factory

public static ERXLogger.Factory factory
Constructor Detail

ERXLogger

public ERXLogger(String name)
Default constructor. Constructs a logger for the given name.

Parameters:
name - of the logging logger
Method Detail

getERXLogger

public static ERXLogger getERXLogger(String name)
Main entry point for getting an ERXLogger for a given name. Calls getLogger to return the instance of Logger from our custom Factory. Note that if the log4j system has not been setup correctly, meaning the LoggerFactory subclass has not been correctly put in place, then RuntimeException will be thrown.

Parameters:
name - to create the logger for
Returns:
ERXLogger for the given name.

getLogger

public static Logger getLogger(String name)
Overrides method of superclass to return a logger using our custom ERXLogger$Factory class. This works identical to log4.Logger.getLogger

Parameters:
name - to create the logger for
Returns:
Logger for the given name.

getERXLogger

public static ERXLogger getERXLogger(Class clazz)
Creates a logger for a given class object. Gets a logger for the fully qualified class name of the given class.

Parameters:
clazz - Class object to create the logger for
Returns:
logger for the given class name

getLogger

public static Logger getLogger(Class clazz)

getERXLogger

public static ERXLogger getERXLogger(Class clazz,
                                     String subTopic)
Creates a logger for the given class object plus a restricting subtopic. For instance if you had the class a.b.Foo and you wanted to create a logger for the subtopic 'utilities' for the class Foo then the created logging logger would have the path: a.b.Foo.utilities.

Parameters:
clazz - Class object to create the logger for
subTopic - to restrict the current logger to
Returns:
logger for the given class and subtopic

getLogger

public static ERXLogger getLogger(Class clazz,
                                  String subTopic)

configureLoggingWithSystemProperties

public static void configureLoggingWithSystemProperties()

configureLogging

public static void configureLogging(Properties properties)
Sets up the logging system with the given configuration in Properties format.

Parameters:
properties - with the logging configuration

debugStackTrace

public void debugStackTrace(Throwable throwable)
Dumps an Throwable's Stack trace on the appender if debugging is enabled.

Parameters:
throwable - throwable to dump

Last updated: Do, Dez 9, 2004 • 12:46 PM CET

Copyright © 2002 – 2004 Project Wonder.