org.objectweb.util.monolog.wrapper.log4jMini

Class MonologLoggerFactory

Implemented Interfaces:
HandlerFactory, LevelFactory, LoggerFactory, MonologFactory

public class MonologLoggerFactory
extends java.lang.Object
implements MonologFactory

Copyright (C) 2001-2003 France Telecom R&D 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 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

Field Summary

static String
LOG4J_CF_PROP
static String
LOG4J_CF_VALUE
protected Hashtable
handlers
This field references the handler instance by their names.
key = a String object which is an handler name.
protected Hashtable
intToNames
This field reference the level names by their integer value.
key = a java.lang.Integer which the value is the level
value = a String or an ArrayList of String.
protected Hashtable
nameToLevel
This field references the level instances by their names.
key = a level name
value = the unique Level instance linked to the name.
protected Logger
rootLogger
The root logger of the logger hierarchy

Fields inherited from interface org.objectweb.util.monolog.api.MonologFactory

DEFAULT, LOG_CONFIGURATION_FILE, LOG_CONFIGURATION_FILE_USE_CLASSPATH, LOG_CONFIGURATION_TYPE, PROPERTY, XML

Constructor Summary

MonologLoggerFactory()

Method Summary

void
configure(Properties prop)
This method permits to configure the factory.
Handler
createHandler(String hn, String handlertype)
It retrieves a new instance of an handler which the type is specified by the parameter.
protected void
defineDefaultLevels()
It initializes the default monolog level:
  • DEBUG: 10 000
  • INFO: 20 000
  • WARN: 30 000
  • ERROR: 40 000
  • FATAL: 50 000
Level
defineLevel(String name, String value)
It defines a new Level with a name and a string value.
Level
defineLevel(String name, int value)
It defines a new Level with a name and an integer value.
Handler
getHandler(String hn)
It retrieves the handler which the name is specified by the parameter
Handler[]
getHandlers()
It retrieves all handler managed by this factory.
Level
getLevel(String name)
It retrieves a Level instance which the name is equals to the parameter.
Level
getLevel(int value)
It retrieves a Level instance which the integer value is equals to the parameter.
Level[]
getLevels()
It retrieves all Level instances defined in this manager.
Logger
getLogger(String key)
This method permits to fetch a Logger.
Logger
getLogger(String key, String rbn)
This method permits to fetch a Logger.
Logger[]
getLoggers()
It retrieves a list of all loggers.
String
getResourceBundleName()
Accessors to a resource bundle name associated to a LoggerFactory.
Handler
removeHandler(String hn)
It removes the handler which the name is specified by the parameter
void
removeLevel(String name)
It removes a Level instance to this manager.
void
setResourceBundleName(String rbn)
Accessors to a resource bundle name associated to a LoggerFactory.

Field Details

LOG4J_CF_PROP

public static final String LOG4J_CF_PROP


LOG4J_CF_VALUE

public static final String LOG4J_CF_VALUE


handlers

protected Hashtable handlers
This field references the handler instance by their names.
key = a String object which is an handler name. value = the unique handler instance which has the key for name.


intToNames

protected Hashtable intToNames
This field reference the level names by their integer value.
key = a java.lang.Integer which the value is the level
value = a String or an ArrayList of String. The strings represent the name which match to the integer value. Indeed both name can be associated to the same integer value.


nameToLevel

protected Hashtable nameToLevel
This field references the level instances by their names.
key = a level name
value = the unique Level instance linked to the name.


rootLogger

protected Logger rootLogger
The root logger of the logger hierarchy

Constructor Details

MonologLoggerFactory

public MonologLoggerFactory()

Method Details

configure

public void configure(Properties prop)
            throws Exception
This method permits to configure the factory.
Specified by:
configure in interface MonologFactory


createHandler

public Handler createHandler(String hn,
                             String handlertype)
It retrieves a new instance of an handler which the type is specified by the parameter.
Specified by:
createHandler in interface HandlerFactory

Parameters:
handlertype - is the type of the parameter. The possible value are defined in this interface by the XXX_HANDLER_TYPE constants.

Returns:
a new instance of an handler


defineDefaultLevels

protected void defineDefaultLevels()
It initializes the default monolog level:
  • DEBUG: 10 000
  • INFO: 20 000
  • WARN: 30 000
  • ERROR: 40 000
  • FATAL: 50 000


defineLevel

public Level defineLevel(String name,
                         String value)
It defines a new Level with a name and a string value. The string value is analyzed to obtain the integer value.
Specified by:
defineLevel in interface LevelFactory

Parameters:
name - is the name of the new level
value - is the string value of the new level

Returns:
a Level instance or a null value if It exists a Level with the same name but with another integer value.


defineLevel

public Level defineLevel(String name,
                         int value)
It defines a new Level with a name and an integer value.
Specified by:
defineLevel in interface LevelFactory

Parameters:
name - is the name of the new level
value - is the integer value of the new level

Returns:
a Level instance or a null value if It exists a Level with the same name but with another integer value.


getHandler

public Handler getHandler(String hn)
It retrieves the handler which the name is specified by the parameter
Specified by:
getHandler in interface HandlerFactory

Parameters:

Returns:
an handler instance or a null value.


getHandlers

public Handler[] getHandlers()
It retrieves all handler managed by this factory.
Specified by:
getHandlers in interface HandlerFactory

Returns:
a set of Handler instance or an empty set.


getLevel

public Level getLevel(String name)
It retrieves a Level instance which the name is equals to the parameter.
Specified by:
getLevel in interface LevelFactory

Parameters:
name - is the name of request Level

Returns:
a Leve instance or a null value if the level does not exist.


getLevel

public Level getLevel(int value)
It retrieves a Level instance which the integer value is equals to the parameter.
Specified by:
getLevel in interface LevelFactory

Parameters:
value - is the integer value of request Level

Returns:
a Leve instance or a null value if the level does not exist. As it is possible to define several Levels which have the same integer value this methods returns the Level instance of first name found in the list.


getLevels

public Level[] getLevels()
It retrieves all Level instances defined in this manager.
Specified by:
getLevels in interface LevelFactory


getLogger

public Logger getLogger(String key)
This method permits to fetch a Logger. If the Logger described by the parameters does not exist, then the LoggerFactory must return a new instance of Logger. The key parameter is a description of the expected Logger. In simple cases, the key is the initial topic of the Logger.
Specified by:
getLogger in interface LoggerFactory


getLogger

public Logger getLogger(String key,
                        String rbn)
This method permits to fetch a Logger. If the Logger described by the parameters does not exist, then the LoggerFactory must return a new instance of Logger. The key parameter is a description of the expected Logger. In simple cases, the key is the initial topic of the Logger. The resourceBundleName parameter allows specifying the name of a resource bundle in order to internationalise the logging.
Specified by:
getLogger in interface LoggerFactory


getLoggers

public Logger[] getLoggers()
It retrieves a list of all loggers.
Specified by:
getLoggers in interface LoggerFactory


getResourceBundleName

public String getResourceBundleName()
Accessors to a resource bundle name associated to a LoggerFactory.
Specified by:
getResourceBundleName in interface LoggerFactory


removeHandler

public Handler removeHandler(String hn)
It removes the handler which the name is specified by the parameter
Specified by:
removeHandler in interface HandlerFactory

Parameters:

Returns:
the removed handler instance or a null value if it does not exist.


removeLevel

public void removeLevel(String name)
It removes a Level instance to this manager.
Specified by:
removeLevel in interface LevelFactory


setResourceBundleName

public void setResourceBundleName(String rbn)
Accessors to a resource bundle name associated to a LoggerFactory.
Specified by:
setResourceBundleName in interface LoggerFactory