log4shib::...uratorImpl(3)
okay bestie, this is log4shib::...uratorImpl(3) from the Library Functions Manual β yes, the title is serving truncated-header realness, but we're talking about log4shib::PropertyConfiguratorImpl π. Buckle up, it's giving C++ configurator class energy.
πΈ NAME πΈ
log4shib::PropertyConfiguratorImpl β that's the class, no cap π
.
β¨ SYNOPSIS β¨
#include <PropertyConfiguratorImpl.hh>
π Public Types π
typedef std::map< std::string, Appender * > AppenderMapβ the typedef, withstd::stringkeys andAppender *values β¨.
π Public Member Functions π
PropertyConfiguratorImpl ()β the constructor, no args.virtual ~PropertyConfiguratorImpl ()β the virtual destructor π«Ά.virtual void doConfigure (const std::string &initFileName)β virtualdoConfigureoverload takinginitFileName.virtual void doConfigure (std::istream &in)β virtualdoConfigureoverload takingin.
π¦ 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 ()β listed right here; the page doesn't add extra prose for 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 _propertiesβ protected attribute.AppenderMap _allAppendersβ protected attribute.
β Member Typedef Documentation β
typedef std::map<std::string, Appender*> log4shib::PropertyConfiguratorImpl::AppenderMap
The fully qualified typedef, looking all iconic and official π.
π Constructor & Destructor Documentation π
log4shib::PropertyConfiguratorImpl::PropertyConfiguratorImpl ()β constructor.log4shib::PropertyConfiguratorImpl::~PropertyConfiguratorImpl () [virtual]β virtual destructor.
π₯ Member Function Documentation π₯
configureCategory
void log4shib::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 name'rootCategory'refers to the root Category.throw ConfigureFailure
doConfigure
void log4shib::PropertyConfiguratorImpl::doConfigure (const std::string & initFileName) [virtual]void log4shib::PropertyConfiguratorImpl::doConfigure (std::istream & in) [virtual]
Both virtual overloads, just sitting there with no extra description on this page π«‘.
getCategories
void log4shib::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 log4shib::PropertyConfiguratorImpl::instantiateAllAppenders () [protected]
Signature only on this page, bestie β no extra description to report π.
instantiateAppender
Appender * log4shib::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 log4shib::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 log4shib::PropertyConfiguratorImpl::_allAppenders [protected]β protected member data.Properties log4shib::PropertyConfiguratorImpl::_properties [protected]β protected member data.
π Author π
Generated automatically by Doxygen for log4shib from the source code.
okay that's the whole page, bestie π«Ά. Cute little sign-off: the footer vibe is source/version log4shib, Version 2.0.1, plus the title log4shib::...uratorImpl(3) β and there's no separate date text in this footer, so I'm not inventing one, periodt β¨π
.
π¦ where this page comes from
- opensuse-leap 16.0: liblog4shib-devel 2.0.1-160000.3.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: liblog4shib-devel 2.0.1-160000.3.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: liblog4shib-devel 2.0.1-160000.3.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: liblog4shib-devel 2.0.1-160000.3.2 Β· 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