Apache Log4cxx
Version 1.6.0
|
Configures the repository from environmental settings and files. More...
#include <defaultconfigurator.h>
Static Public Member Functions | |
static void | configure (spi::LoggerRepositoryPtr repository) |
Configure repository . | |
static spi::ConfigurationStatus | tryConfigure () |
Attempt configuration by calling configure() passing the default repository. | |
static void | setConfigurationFileName (const LogString &path) |
Make path the configuration file used by configure(). | |
static void | setConfigurationWatchSeconds (int seconds) |
Make seconds the time a background thread will delay before checking for a change to the configuration file used by configure(). | |
static std::tuple< spi::ConfigurationStatus, LogString > | configureFromFile (const std::vector< LogString > &directories, const std::vector< LogString > &filenames) |
Call configure() passing the default repository after calling setConfigurationFileName() with a path composed of an entry in directories and an entry in filenames when the combination identifies an existing file. |
Configures the repository from environmental settings and files.
|
static |
Configure repository
.
If the configuration file name has not been provided by a call to setConfigurationFileName(), the environment variable "LOG4CXX_CONFIGURATION" or "log4j.configuration" value is used, with ${varname} instances using either a system environment variable value (if found) otherwise using the helpers::Properties object provided by spi::Configurator::properties.
Unless a custom configurator is specified using the "LOG4CXX_CONFIGURATOR_CLASS" or "log4j.configuratorClass" environment variable, the PropertyConfigurator will be used to configure log4cxx unless the file name ends with the ".xml" extension, in which case the DOMConfigurator will be used. If a custom configurator is specified, the environment variable should contain a fully qualified class name of a class that implements the Configurator interface.
If the configuration file name is not found using any of the previous approaches, the current directory is examined for a file with extension ".xml" or ".properties" with a base name "log4cxx" or "log4j".
If a positive number has been provided by a call to setConfigurationWatchSeconds() or the environment variables "LOG4CXX_CONFIGURATION_WATCH_SECONDS" contains a positive number a background thread is started that will periodically check for a change to the configuration file and apply any configuration changes found.
Call the spi::LoggerRepository::isConfigured repository
member function to determine whether a configuration file was found.
|
static |
Call configure() passing the default repository after calling setConfigurationFileName() with a path composed of an entry in directories
and an entry in filenames
when the combination identifies an existing file.
Using the above example and an executable file named "myapp" installed in the directory "/opt/com.foo/bin", locations are checked in the following order:
If a file exists but it is not able to be used to configure Log4cxx, the next file in the combinatorial set will be tried until a valid configuration file is found or all values in the combinatorial set have been tried.
directories | The directories to look in. |
filenames | The names of the files to look for |
|
static |
Make path
the configuration file used by configure().
Any ${varname} instances in the path
value are expanded using either a system environment variable value (if found) otherwise using the map provided by spi::Configurator::properties.
|
static |
Make seconds
the time a background thread will delay before checking for a change to the configuration file used by configure().
|
static |
Attempt configuration by calling configure() passing the default repository.
See configure() for how the configuration file name is determined.