Inherits log4cxx::spi::Configurator, and log4cxx::helpers::ObjectImpl.
Public Member Functions | |
DOMConfigurator () | |
DOMConfigurator (log4cxx::helpers::Pool &p) | |
void | addRef () const |
void | releaseRef () const |
void | doConfigure (const File &filename, spi::LoggerRepositoryPtr &repository) |
Interpret the XML file pointed by filename and set up log4cxx accordingly. | |
Static Public Member Functions | |
static void | configure (const std::string &filename) |
A static version of doConfigure. | |
static void | configure (const std::wstring &filename) |
static void | configure (const std::basic_string< UniChar > &filename) |
static void | configure (const CFStringRef &filename) |
static void | configureAndWatch (const std::string &configFilename) |
Like configureAndWatch(const std::string& configFilename, long delay) except that the default delay as defined by log4cxx::helpers::FileWatchdog::DEFAULT_DELAY is used. | |
static void | configureAndWatch (const std::wstring &configFilename) |
static void | configureAndWatch (const std::basic_string< UniChar > &configFilename) |
static void | configureAndWatch (const CFStringRef &configFilename) |
static void | configureAndWatch (const std::string &configFilename, long delay) |
Read the configuration file configFilename if it exists. | |
static void | configureAndWatch (const std::wstring &configFilename, long delay) |
static void | configureAndWatch (const std::basic_string< UniChar > &configFilename, long delay) |
static void | configureAndWatch (const CFStringRef &configFilename, long delay) |
Protected Types | |
typedef std::map< LogString, AppenderPtr > | AppenderMap |
Protected Member Functions | |
AppenderPtr | findAppenderByName (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *elem, apr_xml_doc *doc, const LogString &appenderName, AppenderMap &appenders) |
Used internally to parse appenders by IDREF name. | |
AppenderPtr | findAppenderByReference (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *appenderRef, apr_xml_doc *doc, AppenderMap &appenders) |
Used internally to parse appenders by IDREF element. | |
AppenderPtr | parseAppender (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *appenderElement, apr_xml_doc *doc, AppenderMap &appenders) |
Used internally to parse an appender element. | |
void | parseErrorHandler (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *element, AppenderPtr &appender, apr_xml_doc *doc, AppenderMap &appenders) |
Used internally to parse an ErrorHandler element. | |
void | parseFilters (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *element, std::vector< log4cxx::spi::FilterPtr > &filters) |
Used internally to parse a filter element. | |
void | parseLogger (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *loggerElement, apr_xml_doc *doc, AppenderMap &appenders) |
Used internally to parse a logger element. | |
void | parseLoggerFactory (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *factoryElement) |
Used internally to parse the logger factory element. | |
log4cxx::helpers::ObjectPtr | parseTriggeringPolicy (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *factoryElement) |
Used internally to parse the logger factory element. | |
log4cxx::rolling::RollingPolicyPtr | parseRollingPolicy (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *factoryElement) |
Used internally to parse the logger factory element. | |
void | parseRoot (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *rootElement, apr_xml_doc *doc, AppenderMap &appenders) |
Used internally to parse the root logger element. | |
void | parseChildrenOfLoggerElement (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *catElement, LoggerPtr logger, bool isRoot, apr_xml_doc *doc, AppenderMap &appenders) |
Used internally to parse the children of a logger element. | |
LayoutPtr | parseLayout (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *layout_element) |
Used internally to parse a layout element. | |
void | parseLevel (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *element, LoggerPtr logger, bool isRoot) |
Used internally to parse a level element. | |
void | setParameter (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *elem, log4cxx::config::PropertySetter &propSetter) |
void | parse (log4cxx::helpers::Pool &p, log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *element, apr_xml_doc *doc, AppenderMap &appenders) |
Used internally to configure the log4cxx framework from an in-memory representation of an XML document. | |
LogString | subst (const LogString &value) |
Static Protected Member Functions | |
static LogString | getAttribute (log4cxx::helpers::CharsetDecoderPtr &utf8Decoder, apr_xml_elem *, const std::string &attrName) |
Protected Attributes | |
helpers::Properties | props |
spi::LoggerRepositoryPtr | repository |
spi::LoggerFactoryPtr | loggerFactory |
Sometimes it is useful to see how log4cxx is reading configuration files. You can enable log4cxx internal logging by setting the debug
attribute in the log4cxx
element. As in
<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/"> ... </log4j:configuration>
There are sample XML files included in the package.
typedef std::map<LogString, AppenderPtr> AppenderMap [protected] |
DOMConfigurator | ( | ) |
void addRef | ( | ) | const [virtual] |
Reimplemented from ObjectImpl.
static void configure | ( | const CFStringRef & | filename | ) | [static] |
static void configure | ( | const std::basic_string< UniChar > & | filename | ) | [static] |
static void configure | ( | const std::wstring & | filename | ) | [static] |
static void configure | ( | const std::string & | filename | ) | [static] |
A static version of doConfigure.
static void configureAndWatch | ( | const CFStringRef & | configFilename, | |
long | delay | |||
) | [static] |
static void configureAndWatch | ( | const std::basic_string< UniChar > & | configFilename, | |
long | delay | |||
) | [static] |
static void configureAndWatch | ( | const std::wstring & | configFilename, | |
long | delay | |||
) | [static] |
static void configureAndWatch | ( | const std::string & | configFilename, | |
long | delay | |||
) | [static] |
Read the configuration file configFilename
if it exists.
Moreover, a thread will be created that will periodically check if configFilename
has been created or modified. The period is determined by the delay
argument. If a change or file creation is detected, then configFilename
is read to configure log4cxx.
configFilename | A log4j configuration file in XML format. | |
delay | The delay in milliseconds to wait between each check. |
static void configureAndWatch | ( | const CFStringRef & | configFilename | ) | [static] |
static void configureAndWatch | ( | const std::basic_string< UniChar > & | configFilename | ) | [static] |
static void configureAndWatch | ( | const std::wstring & | configFilename | ) | [static] |
static void configureAndWatch | ( | const std::string & | configFilename | ) | [static] |
Like configureAndWatch(const std::string& configFilename, long delay) except that the default delay as defined by log4cxx::helpers::FileWatchdog::DEFAULT_DELAY is used.
configFilename | A log4j configuration file in XML format. |
void doConfigure | ( | const File & | filename, | |
spi::LoggerRepositoryPtr & | repository | |||
) | [virtual] |
Interpret the XML file pointed by filename
and set up log4cxx accordingly.
The configuration is done relative to the hierarchy parameter.
filename | The file to parse. | |
repository | The hierarchy to operation upon. |
Implements Configurator.
AppenderPtr findAppenderByName | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | elem, | |||
apr_xml_doc * | doc, | |||
const LogString & | appenderName, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to parse appenders by IDREF name.
AppenderPtr findAppenderByReference | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | appenderRef, | |||
apr_xml_doc * | doc, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to parse appenders by IDREF element.
static LogString getAttribute | ( | log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |
apr_xml_elem * | , | |||
const std::string & | attrName | |||
) | [static, protected] |
void parse | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | element, | |||
apr_xml_doc * | doc, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to configure the log4cxx framework from an in-memory representation of an XML document.
AppenderPtr parseAppender | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | appenderElement, | |||
apr_xml_doc * | doc, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to parse an appender element.
void parseChildrenOfLoggerElement | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | catElement, | |||
LoggerPtr | logger, | |||
bool | isRoot, | |||
apr_xml_doc * | doc, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to parse the children of a logger element.
void parseErrorHandler | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | element, | |||
AppenderPtr & | appender, | |||
apr_xml_doc * | doc, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to parse an ErrorHandler element.
void parseFilters | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | element, | |||
std::vector< log4cxx::spi::FilterPtr > & | filters | |||
) | [protected] |
Used internally to parse a filter element.
LayoutPtr parseLayout | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | layout_element | |||
) | [protected] |
Used internally to parse a layout element.
void parseLevel | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | element, | |||
LoggerPtr | logger, | |||
bool | isRoot | |||
) | [protected] |
Used internally to parse a level element.
void parseLogger | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | loggerElement, | |||
apr_xml_doc * | doc, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to parse a logger element.
void parseLoggerFactory | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | factoryElement | |||
) | [protected] |
Used internally to parse the logger factory element.
log4cxx::rolling::RollingPolicyPtr parseRollingPolicy | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | factoryElement | |||
) | [protected] |
Used internally to parse the logger factory element.
void parseRoot | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | rootElement, | |||
apr_xml_doc * | doc, | |||
AppenderMap & | appenders | |||
) | [protected] |
Used internally to parse the root logger element.
log4cxx::helpers::ObjectPtr parseTriggeringPolicy | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | factoryElement | |||
) | [protected] |
Used internally to parse the logger factory element.
void releaseRef | ( | ) | const [virtual] |
Reimplemented from ObjectImpl.
void setParameter | ( | log4cxx::helpers::Pool & | p, | |
log4cxx::helpers::CharsetDecoderPtr & | utf8Decoder, | |||
apr_xml_elem * | elem, | |||
log4cxx::config::PropertySetter & | propSetter | |||
) | [protected] |
spi::LoggerFactoryPtr loggerFactory [protected] |
helpers::Properties props [protected] |
spi::LoggerRepositoryPtr repository [protected] |