LOG4CPP::PROPERTYCONFIGURATORIMPL(3)
hey bestie π welcome to the Library Functions Manual page for log4cpp::P...guratorImpl(3) from log4cpp β yes, the name is giving truncated, but we move. β¨
πΈ NAME πΈ
log4cpp::PropertyConfiguratorImpl
β¨ SYNOPSIS β¨
#include <PropertyConfiguratorImpl.hh>
π Public Types π
typedef std::map< std::string, Appender * > AppenderMapβ bestie,AppenderMapis literally a map fromstd::stringtoAppender *. πΊοΈ
π«Ά Public Member Functions π«Ά
PropertyConfiguratorImpl ()β the constructor, no arguments, slay.virtual ~PropertyConfiguratorImpl ()β the virtual destructor.virtual void doConfigure (const std::string &initFileName)β virtualdoConfigurethat takesinitFileName.virtual void doConfigure (std::istream &in)β virtualdoConfigurethat takesinas astd::istream &.
π Protected Member Functions π
void configureCategory (const std::string &categoryname)β configure the given category. πvoid getCategories (std::vector< std::string > &categories) constβ Get a list of categories for which we should do the configuration.void instantiateAllAppenders ()β the all-appenders instantiator, no extra deets on this one.Appender * instantiateAppender (const std::string &name)β Intantiate and configure the appender referred to by the given name. π¦void setLayout (Appender *appender, const std::string &name)β Method for instantiating and configuring the layouts associated with each appender.
π Protected Attributes π
Properties _propertiesAppenderMap _allAppenders
π Member Typedef Documentation π
The docs spell it out fully like this:
typedef std::map<std::string, Appender*> log4cpp::PropertyConfiguratorImpl::AppenderMap
π§ Constructor & Destructor Documentation π§
log4cpp::PropertyConfiguratorImpl::PropertyConfiguratorImpl ()log4cpp::PropertyConfiguratorImpl::~PropertyConfiguratorImpl () [virtual]
π Member Function Documentation π
π configureCategory
void log4cpp::PropertyConfiguratorImpl::configureCategory (const std::string & categoryname) [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 namerootCategoryrefers to the root Category.
Exceptions: ConfigureFailure if the method encountered a read or syntax error.
πΈ doConfigure (string overload)
void log4cpp::PropertyConfiguratorImpl::doConfigure (const std::string & initFileName) [virtual]
Parameters:
initFileName
Exceptions: ConfigureFailure if the method encountered a read or syntax error.
π¦ doConfigure (stream overload)
void log4cpp::PropertyConfiguratorImpl::doConfigure (std::istream & in) [virtual]
Parameters:
in
Exceptions: ConfigureFailure if the method encountered a read or syntax error.
π getCategories
void log4cpp::PropertyConfiguratorImpl::getCategories (std::vector< std::string > & categories) const [protected]
Get a list of categories for which we should do the configuration. 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.
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.
π instantiateAllAppenders
void log4cpp::PropertyConfiguratorImpl::instantiateAllAppenders () [protected]
π§ instantiateAppender
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.
π setLayout
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]
β Author β
Generated automatically by Doxygen for log4cpp from the source code.
And that's the whole page, bestie! π This one is log4cpp Version 1.1, filed under log4cpp::P...guratorImpl(3), and yes β it was generated automatically by Doxygen for log4cpp from the source code. Bye bestie, go configure something iconic! π«Άβ¨
π¦ where this page comes from
- opensuse-leap 16.0: log4cpp-devel 1.1.4-bp160.1.12 Β· LGPL-2.1-only
- opensuse-leap 16.0: log4cpp-devel 1.1.4-bp160.1.12 Β· LGPL-2.1-only
- opensuse-leap 16.0: log4cpp-devel 1.1.4-bp160.1.12 Β· LGPL-2.1-only
- opensuse-leap 16.0: log4cpp-devel 1.1.4-bp160.1.12 Β· LGPL-2.1-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms