Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

log4cpp::PropertyConfiguratorImpl Class Reference

#include <PropertyConfiguratorImpl.hh>

Collaboration diagram for log4cpp::PropertyConfiguratorImpl:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::map< std::string,
Appender * > 
AppenderMap

Public Methods

 PropertyConfiguratorImpl ()
virtual ~PropertyConfiguratorImpl ()
virtual void doConfigure (const std::string &initFileName) throw (ConfigureFailure)
virtual void doConfigure (std::istream &in) throw (ConfigureFailure)

Protected Methods

void configureCategory (const std::string &categoryname) throw (ConfigureFailure)
 configure the given category. More...

void getCategories (std::vector< std::string > &categories) const
 Get the categories contained within the map of properties. More...

void instantiateAllAppenders () throw (ConfigureFailure)
AppenderinstantiateAppender (const std::string &name)
 Intantiate and configure the appender referred to by the given name. More...

void setLayout (Appender *appender, const std::string &name)
 Method for instantiating and configuring the layouts associated with each appender. More...


Protected Attributes

Properties _properties
AppenderMap _allAppenders

Member Typedef Documentation

typedef std::map<std::string, Appender*> log4cpp::PropertyConfiguratorImpl::AppenderMap
 


Constructor & Destructor Documentation

log4cpp::PropertyConfiguratorImpl::PropertyConfiguratorImpl  
 

log4cpp::PropertyConfiguratorImpl::~PropertyConfiguratorImpl   [virtual]
 


Member Function Documentation

void log4cpp::PropertyConfiguratorImpl::configureCategory const std::string &    categoryname throw (ConfigureFailure) [protected]
 

configure the given category.

This includes setting its Priority and adding any Appenders.

Todo:
setting other properties like 'additivity'.
Parameters:
categoryname  Name of the category to configure. The name 'rootCategory' refers to the root Category. throw ConfigureFailure

void log4cpp::PropertyConfiguratorImpl::doConfigure std::istream &    in throw (ConfigureFailure) [virtual]
 

void log4cpp::PropertyConfiguratorImpl::doConfigure const std::string &    initFileName throw (ConfigureFailure) [virtual]
 

void log4cpp::PropertyConfiguratorImpl::getCategories std::vector< std::string > &    categories const [protected]
 

Get the categories contained within the map of properties.

This simply extracts the categories from the map.

Parameters:
categories  Reference to a list which is to receive the list of categories.

void log4cpp::PropertyConfiguratorImpl::instantiateAllAppenders   throw (ConfigureFailure) [protected]
 

Appender * log4cpp::PropertyConfiguratorImpl::instantiateAppender const std::string &    name [protected]
 

Intantiate and configure the appender referred to by the given name.

This method searches the map to find all configuration parameters for the appender, and adds the appender to the given category. This isn't very general in the sense that it will need to be modified for each type of appender and layout. A more general solution would be to define an "options" interface for each appender and layout, so that we can simply call this method with a list of options instead of needing to know what is or is not available. This would also require some generic way of instantiating an object for which we have no knowledge. An "AppenderFactory" could be used which maps the given type to an actual object class registered with the factory (?? is this possible?).

Parameters:
name  String containing the name of the type of appender to be instantiated.

void log4cpp::PropertyConfiguratorImpl::setLayout Appender   appender,
const std::string &    name
[protected]
 

Method for instantiating and configuring the layouts associated with each appender.

Parameters:
appender  Appender to which we are setting this layout.
name  Name in the properties of this appender.


Member Data Documentation

AppenderMap log4cpp::PropertyConfiguratorImpl::_allAppenders [protected]
 

Properties log4cpp::PropertyConfiguratorImpl::_properties [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Oct 28 23:42:14 2002 for log4cpp by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002