﻿<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { }.OH_footer { }</style><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>DOMConfigurator.ConfigureAndWatch Method (ILoggerRepository, FileInfo)</title><meta name="Language" content="en-us" /><meta name="Microsoft.Help.Id" content="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)" /><meta name="Description" content="Configures the using the file specified, monitors the file for changes and reloads the configuration if a change is detected." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="log4net.Config" /><meta name="file" content="M_log4net_Config_DOMConfigurator_ConfigureAndWatch" /><meta name="guid" content="M_log4net_Config_DOMConfigurator_ConfigureAndWatch" /></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">DOMConfigurator<span id="LSTEE1BB819_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTEE1BB819_0?cpp=::|nu=.");</script>ConfigureAndWatch Method (ILoggerRepository, FileInfo)</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><p><strong>Note: This API is now obsolete.</strong></p><div class="summary">
            Configures the <a href="T_log4net_Repository_ILoggerRepository.htm">ILoggerRepository</a> using the file specified, 
            monitors the file for changes and reloads the configuration if a change 
            is detected.
            </div><p> </p><strong>Namespace:</strong> <a href="N_log4net_Config.htm">log4net.Config</a><br /><strong>Assembly:</strong> log4net (in log4net.dll) Version: 2.0.6.0-.NET 4.0<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Syntax</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><div class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs"><div class="OH_CodeSnippetContainerTabLeft" id="ID0EDCA_tabimgleft"> </div><div id="ID0EDCA_tab1" class="OH_CodeSnippetContainerTabFirst"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cs','1','4');return false;">C#</a></div><div id="ID0EDCA_tab2" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','vb','2','4');return false;">VB</a></div><div id="ID0EDCA_tab3" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cpp','3','4');return false;">C++</a></div><div id="ID0EDCA_tab4" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','fs','4','4');return false;">F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0EDCA_tabimgright"> </div></div><div class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0EDCA_copyCode" href="#" onclick="javascript:CopyToClipboard('ID0EDCA');return false;" title="Copy">Copy</a></div></div><div id="ID0EDCA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre xml:space="preserve">[<span class="identifier">ObsoleteAttribute</span>("Use XmlConfigurator.ConfigureAndWatch instead of DOMConfigurator.ConfigureAndWatch")]
<span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">ConfigureAndWatch</span>(
	<span class="identifier">ILoggerRepository</span> <span class="parameter">repository</span>,
	<span class="identifier">FileInfo</span> <span class="parameter">configFile</span>
)</pre></div><div id="ID0EDCA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve">&lt;<span class="identifier">ObsoleteAttribute</span>("Use XmlConfigurator.ConfigureAndWatch instead of DOMConfigurator.ConfigureAndWatch")&gt;
<span class="keyword">Public</span> <span class="keyword">Shared</span> <span class="keyword">Sub</span> <span class="identifier">ConfigureAndWatch</span> ( 
	<span class="parameter">repository</span> <span class="keyword">As</span> <span class="identifier">ILoggerRepository</span>,
	<span class="parameter">configFile</span> <span class="keyword">As</span> <span class="identifier">FileInfo</span>
)</pre></div><div id="ID0EDCA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">public</span>:
[<span class="identifier">ObsoleteAttribute</span>(L"Use XmlConfigurator.ConfigureAndWatch instead of DOMConfigurator.ConfigureAndWatch")]
<span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">ConfigureAndWatch</span>(
	<span class="identifier">ILoggerRepository</span>^ <span class="parameter">repository</span>, 
	<span class="identifier">FileInfo</span>^ <span class="parameter">configFile</span>
)</pre></div><div id="ID0EDCA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve">[&lt;<span class="identifier">ObsoleteAttribute</span>("Use XmlConfigurator.ConfigureAndWatch instead of DOMConfigurator.ConfigureAndWatch")&gt;]
<span class="keyword">static</span> <span class="keyword">member</span> <span class="identifier">ConfigureAndWatch</span> : 
        <span class="parameter">repository</span> : <span class="identifier">ILoggerRepository</span> * 
        <span class="parameter">configFile</span> : <span class="identifier">FileInfo</span> <span class="keyword">-&gt;</span> <span class="keyword">unit</span> 
</pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4 class="subHeading">Parameters</h4><dl><dt><span class="parameter">repository</span></dt><dd>Type: <a href="T_log4net_Repository_ILoggerRepository.htm">log4net.Repository<span id="LSTEE1BB819_1"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTEE1BB819_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>ILoggerRepository</a><br />The repository to configure.</dd><dt><span class="parameter">configFile</span></dt><dd>Type: <a href="http://msdn2.microsoft.com/en-us/library/akth6b1k" target="_blank">System.IO<span id="LSTEE1BB819_2"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTEE1BB819_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>FileInfo</a><br />The XML file to load the configuration from.</dd></dl><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Remarks</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><p><b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b></p><p>
            The configuration file must be valid XML. It must contain
            at least one element called <span class="code">log4net</span> that holds
            the configuration data.
            </p><p>
            The configuration file will be monitored using a <a href="http://msdn2.microsoft.com/en-us/library/x7t1d0ky" target="_blank">FileSystemWatcher</a>
            and depends on the behavior of that class.
            </p><p>
            For more information on how to configure log4net using
            a separate configuration file, see <span class="nolink">[M:Configure(FileInfo)]</span>.
            </p><div class="OH_CollapsibleAreaRegion" id="seeAlsoSection"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_log4net_Config_DOMConfigurator.htm">DOMConfigurator Class</a></div><div class="seeAlsoStyle"><a href="Overload_log4net_Config_DOMConfigurator_ConfigureAndWatch.htm">ConfigureAndWatch Overload</a></div><div class="seeAlsoStyle"><a href="N_log4net_Config.htm">log4net.Config Namespace</a></div><div class="seeAlsoStyle"><span class="nolink">[M:Configure(FileInfo)]</span></div></div></div></div></div><div id="OH_footer" class="OH_footer">Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.<p><a href="http://logging.apache.org/log4net/" target="_blank">Copyright 2004-2017 The Apache Software Foundation</a></p><div class="OH_feedbacklink">Send comments on this topic to
        <a id="HT_MailLink" href="mailto:http%3A%2F%2Flogging.apache.org%2Flog4net%2Fmail-lists.html?Subject=Apache log4net™ SDK Documentation">http://logging.apache.org/log4net/mail-lists.html</a></div><script type="text/javascript">
        var HT_mailLink = document.getElementById("HT_MailLink");
        var HT_mailLinkText = HT_mailLink.innerHTML;
        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.");
        HT_mailLink.innerHTML = HT_mailLinkText;
        </script> </div></body></html>