Apache Log4cxx  Version 1.2.0
Loading...
Searching...
No Matches
log4cxx::helpers::OptionConverter Class Reference

A convenience class to convert property values to specific types. More...

#include <optionconverter.h>

Static Public Member Functions

static LogString convertSpecialChars (const LogString &s)
 
static bool toBoolean (const LogString &value, bool defaultValue)
 The boolean equivalent of value if it is not empty, otherwise defaultValue.
 
static int toInt (const LogString &value, int defaultValue)
 The numeric equivalent of value if it is not empty, otherwise defaultValue.
 
static long toFileSize (const LogString &value, long defaultValue)
 The numeric equivalent of value if it is not empty, otherwise defaultValue.
 
static LevelPtr toLevel (const LogString &value, const LevelPtr &defaultValue)
 The Level indicated by value if recognised otherwise defaultValue.
 
static LogString findAndSubst (const LogString &key, Properties &props)
 Find the value corresponding to key in props.
 
static LogString substVars (const LogString &val, Properties &props)
 Perform variable substitution in string val from the values of keys found in the system propeties.
 
static LogString getSystemProperty (const LogString &key, const LogString &def)
 
static ObjectPtr instantiateByClassName (const LogString &className, const Class &superClass, const ObjectPtr &defaultValue)
 Instantiate an object given a class name.
 
static ObjectPtr instantiateByKey (Properties &props, const LogString &key, const Class &superClass, const ObjectPtr &defaultValue)
 
static void selectAndConfigure (const File &configFileName, const LogString &clazz, spi::LoggerRepositoryPtr hierarchy, int delay=0)
 Configure log4cxx given a configFileName.
 

Detailed Description

A convenience class to convert property values to specific types.

Member Function Documentation

◆ convertSpecialChars()

static LogString log4cxx::helpers::OptionConverter::convertSpecialChars ( const LogString s)
static

◆ findAndSubst()

static LogString log4cxx::helpers::OptionConverter::findAndSubst ( const LogString key,
Properties props 
)
static

Find the value corresponding to key in props.

Then perform variable substitution on the found value.

◆ getSystemProperty()

static LogString log4cxx::helpers::OptionConverter::getSystemProperty ( const LogString key,
const LogString def 
)
static
Gets the specified system property.
Parameters
keyThe key to search for.
defThe default value to return.
Returns
the string value of the system property, or the default value if there is no property with that key.

◆ instantiateByClassName()

static ObjectPtr log4cxx::helpers::OptionConverter::instantiateByClassName ( const LogString className,
const Class superClass,
const ObjectPtr defaultValue 
)
static

Instantiate an object given a class name.

Check that the className is a subclass of superClass. If that test fails or the object could not be instantiated, then defaultValue is returned.

Parameters
classNameThe fully qualified class name of the object to instantiate.
superClassThe class to which the new object should belong.
defaultValueThe object to return in case of non-fulfillment

◆ instantiateByKey()

static ObjectPtr log4cxx::helpers::OptionConverter::instantiateByKey ( Properties props,
const LogString key,
const Class superClass,
const ObjectPtr defaultValue 
)
static

◆ selectAndConfigure()

static void log4cxx::helpers::OptionConverter::selectAndConfigure ( const File configFileName,
const LogString clazz,
spi::LoggerRepositoryPtr  hierarchy,
int  delay = 0 
)
static

Configure log4cxx given a configFileName.

The configFileName must point to a file which will be interpreted by a new instance of a log4cxx configurator.

All configurations steps are taken on the hierarchy passed as a parameter.

Parameters
configFileNameThe location of the configuration file.
clazzThe classname, of the log4cxx configurator which will parse the file configFileName. This must be a subclass of Configurator, or null. If this value is null then a default configurator of PropertyConfigurator is used, unless the filename pointed to by configFileName ends in '.xml', in which case DOMConfigurator is used.
hierarchyThe Hierarchy to act on.
delayIf greater than zero, the milliseconds to sleep between checking if configFileName has been modified and needs to be reloaded.

◆ substVars()

static LogString log4cxx::helpers::OptionConverter::substVars ( const LogString val,
Properties props 
)
static

Perform variable substitution in string val from the values of keys found in the system propeties.

The variable substitution delimeters are ${ and }.

For example, if the System properties contains "key=value", then the call

auto s = OptionConverter.substituteVars("Value of key is ${key}.");
A convenience class to convert property values to specific types.
Definition: optionconverter.h:47

will set the variable s to "Value of key is value.".

If no value could be found for the specified key, then the props parameter is searched, if the value could not be found there, then substitution defaults to the empty string.

For example, if system propeties contains no value for the key "inexistentKey", then the call

auto s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]");

will set s to "Value of inexistentKey is []"

An IllegalArgumentException is thrown if val contains a start delimeter "${" which is not balanced by a stop delimeter "}".

Parameters
valThe string on which variable substitution is performed.
propsThe properties from which variable substitution is performed.
Exceptions
IllegalArgumentExceptionif val is malformed.

◆ toBoolean()

static bool log4cxx::helpers::OptionConverter::toBoolean ( const LogString value,
bool  defaultValue 
)
static

The boolean equivalent of value if it is not empty, otherwise defaultValue.

If value is "true", then true is returned. If value is "false", then true is returned. Case of value is unimportant.

Returns
defaultValue if value is not "true" or "false", otherwise the boolean equivalent of value

◆ toFileSize()

static long log4cxx::helpers::OptionConverter::toFileSize ( const LogString value,
long  defaultValue 
)
static

The numeric equivalent of value if it is not empty, otherwise defaultValue.

A suffix "KB", "MB" or "GB" after an integer value converts the provided number respectively to kilobytes, megabytes and gigabytes. For example, the value "10KB" will be interpreted as 10240.

◆ toInt()

static int log4cxx::helpers::OptionConverter::toInt ( const LogString value,
int  defaultValue 
)
static

The numeric equivalent of value if it is not empty, otherwise defaultValue.

Returns
Zero if value does not begin with a valid integral number otherwise the numeric equivalent of value

◆ toLevel()

static LevelPtr log4cxx::helpers::OptionConverter::toLevel ( const LogString value,
const LevelPtr defaultValue 
)
static

The Level indicated by value if recognised otherwise defaultValue.

To be recognised, value must be one of "Trace", "Debug", "Info", "Warn", "Error", "Fatal", "Off", "All" or a custom level in which case it is of the form {levelName}#{registeredClassName}.

Case of value is unimportant.


The documentation for this class was generated from the following file: