#include <PropertyConfiguratorImpl.hh>
Public Types | |
typedef std::map< std::string, Appender * > | AppenderMap |
Public Member Functions | |
virtual void | doConfigure (const std::string &initFileName) throw (ConfigureFailure) |
virtual void | doConfigure (std::istream &in) throw (ConfigureFailure) |
PropertyConfiguratorImpl () | |
virtual | ~PropertyConfiguratorImpl () |
Protected Member Functions | |
void | configureCategory (const std::string &categoryname) throw (ConfigureFailure) |
void | getCategories (std::vector< std::string > &categories) const |
void | instantiateAllAppenders () throw (ConfigureFailure) |
Appender * | instantiateAppender (const std::string &name) |
void | setLayout (Appender *appender, const std::string &name) |
Protected Attributes | |
AppenderMap | _allAppenders |
Properties | _properties |
Definition at line 25 of file PropertyConfiguratorImpl.hh.
typedef std::map<std::string, Appender*> log4cpp::PropertyConfiguratorImpl::AppenderMap |
Definition at line 27 of file PropertyConfiguratorImpl.hh.
Definition at line 59 of file PropertyConfiguratorImpl.cpp.
Definition at line 62 of file PropertyConfiguratorImpl.cpp.
void log4cpp::PropertyConfiguratorImpl::configureCategory | ( | const std::string & | categoryname | ) | throw (ConfigureFailure) [protected] |
configure the given category. This includes setting its Priority and adding any Appenders.
categoryname | Name of the category to configure. The name 'rootCategory' refers to the root Category. throw ConfigureFailure |
Definition at line 131 of file PropertyConfiguratorImpl.cpp.
void log4cpp::PropertyConfiguratorImpl::doConfigure | ( | const std::string & | initFileName | ) | throw (ConfigureFailure) [virtual] |
Definition at line 65 of file PropertyConfiguratorImpl.cpp.
void log4cpp::PropertyConfiguratorImpl::doConfigure | ( | std::istream & | in | ) | throw (ConfigureFailure) [virtual] |
Definition at line 76 of file PropertyConfiguratorImpl.cpp.
void log4cpp::PropertyConfiguratorImpl::getCategories | ( | std::vector< std::string > & | categories | ) | const [protected] |
Get a list of categories for which we should do the configuration. This simply extracts the categories from the map.
categories | Reference to a list which is to receive the list of categories. |
Get the categories contained within the map of properties. Since the category looks something like "category.xxxxx.yyy.zzz", we need to search the entire map to figure out which properties are category listings. Seems like there might be a more elegant solution.
Definition at line 328 of file PropertyConfiguratorImpl.cpp.
void log4cpp::PropertyConfiguratorImpl::instantiateAllAppenders | ( | ) | throw (ConfigureFailure) [protected] |
Definition at line 92 of file PropertyConfiguratorImpl.cpp.
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?).
name | String containing the name of the type of appender to be instantiated. |
Definition at line 187 of file PropertyConfiguratorImpl.cpp.
void log4cpp::PropertyConfiguratorImpl::setLayout | ( | Appender * | appender, |
const std::string & | name | ||
) | [protected] |
Method for instantiating and configuring the layouts associated with each appender.
appender | Appender to which we are setting this layout. |
name | Name in the properties of this appender. |
Definition at line 278 of file PropertyConfiguratorImpl.cpp.
Definition at line 80 of file PropertyConfiguratorImpl.hh.
Definition at line 79 of file PropertyConfiguratorImpl.hh.