18 #ifndef _LOG4CXX_XML_DOM_CONFIGURATOR_H 19 #define _LOG4CXX_XML_DOM_CONFIGURATOR_H 22 #pragma warning (push) 23 #pragma warning ( disable: 4231 4251 4275 4786 ) 28 #include <log4cxx/logstring.h> 30 #include <log4cxx/appender.h> 31 #include <log4cxx/layout.h> 32 #include <log4cxx/logger.h> 33 #include <log4cxx/helpers/properties.h> 34 #include <log4cxx/spi/configurator.h> 35 #include <log4cxx/helpers/charsetdecoder.h> 36 #include <log4cxx/spi/filter.h> 37 #include <log4cxx/rolling/triggeringpolicy.h> 38 #include <log4cxx/rolling/rollingpolicy.h> 39 #include <log4cxx/file.h> 40 #include <log4cxx/config/propertysetter.h> 74 typedef std::map<LogString, AppenderPtr> AppenderMap;
80 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
83 const LogString& appenderName,
84 AppenderMap& appenders);
91 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
92 apr_xml_elem* appenderRef,
94 AppenderMap& appenders);
101 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
102 apr_xml_elem* appenderElement,
104 AppenderMap& appenders);
109 void parseErrorHandler(
111 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
112 apr_xml_elem* element,
115 AppenderMap& appenders);
122 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
123 apr_xml_elem* element,
124 std::vector<log4cxx::spi::FilterPtr>& filters);
131 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
132 apr_xml_elem* loggerElement,
134 AppenderMap& appenders);
139 void parseLoggerFactory(
141 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
142 apr_xml_elem* factoryElement);
149 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
150 apr_xml_elem* factoryElement);
155 log4cxx::rolling::RollingPolicyPtr parseRollingPolicy(
157 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
158 apr_xml_elem* factoryElement);
164 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
165 apr_xml_elem* rootElement, apr_xml_doc* doc, AppenderMap& appenders);
170 void parseChildrenOfLoggerElement(
172 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
173 apr_xml_elem* catElement,
176 AppenderMap& appenders);
183 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
184 apr_xml_elem* layout_element);
191 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
192 apr_xml_elem* element,
197 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
207 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
208 apr_xml_elem* element,
210 AppenderMap& appenders);
216 BEGIN_LOG4CXX_CAST_MAP()
218 END_LOG4CXX_CAST_MAP()
223 void releaseRef()
const;
228 static void configure(
const std::string& filename);
229 #if LOG4CXX_WCHAR_T_API 230 static void configure(
const std::wstring& filename);
232 #if LOG4CXX_UNICHAR_API 233 static void configure(
const std::basic_string<UniChar>& filename);
235 #if LOG4CXX_CFSTRING_API 236 static void configure(
const CFStringRef& filename);
244 static void configureAndWatch(
const std::string& configFilename);
245 #if LOG4CXX_WCHAR_T_API 246 static void configureAndWatch(
const std::wstring& configFilename);
248 #if LOG4CXX_UNICHAR_API 249 static void configureAndWatch(
const std::basic_string<UniChar>& configFilename);
251 #if LOG4CXX_CFSTRING_API 252 static void configureAndWatch(
const CFStringRef& configFilename);
265 static void configureAndWatch(
const std::string& configFilename,
267 #if LOG4CXX_WCHAR_T_API 268 static void configureAndWatch(
const std::wstring& configFilename,
271 #if LOG4CXX_UNICHAR_API 272 static void configureAndWatch(
const std::basic_string<UniChar>& configFilename,
275 #if LOG4CXX_CFSTRING_API 276 static void configureAndWatch(
const CFStringRef& configFilename,
287 void doConfigure(
const File& filename,
291 static LogString getAttribute(
292 log4cxx::helpers::CharsetDecoderPtr& utf8Decoder,
294 const std::string& attrName);
296 LogString subst(
const LogString& value);
307 static XMLWatchdog* xdog;
313 #if defined(_MSC_VER) 314 #pragma warning (pop) 317 #endif // _LOG4CXX_XML_DOM_CONFIGURATOR_H General purpose Object property setter.
Definition: propertysetter.h:53
Use this class to initialize the log4cxx environment using a DOM tree.
Definition: domconfigurator.h:69
Implementation class for Object.
Definition: objectimpl.h:28
Definition: properties.h:39
Implemented by classes capable of configuring log4j using a URL.
Definition: configurator.h:32
An abstract representation of file and directory path names.
Definition: file.h:45
Definition: appender.h:33