A convenience class to convert property values to specific types.
More...
#include <optionconverter.h>
|
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.
|
|
A convenience class to convert property values to specific types.
◆ convertSpecialChars()
static LogString log4cxx::helpers::OptionConverter::convertSpecialChars |
( |
const LogString & |
s | ) |
|
|
static |
◆ findAndSubst()
Find the value corresponding to key
in props
.
Then perform variable substitution on the found value.
◆ getSystemProperty()
Gets the specified system property.
- Parameters
-
key | The key to search for. |
def | The 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
-
className | The fully qualified class name of the object to instantiate. |
superClass | The class to which the new object should belong. |
defaultValue | The object to return in case of non-fulfillment |
◆ instantiateByKey()
◆ selectAndConfigure()
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
-
configFileName | The location of the configuration file. |
clazz | The 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. |
hierarchy | The Hierarchy to act on. |
delay | If greater than zero, the milliseconds to sleep between checking if configFileName has been modified and needs to be reloaded. |
◆ substVars()
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
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
-
val | The string on which variable substitution is performed. |
props | The properties from which variable substitution is performed. |
- Exceptions
-
◆ 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()
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: