<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>ConfigureAndWatch Method</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">DOMConfigurator.ConfigureAndWatch�Method</h1>
      </div>
    </div>
    <div id="nstext">
      <P>
        <FONT color="red">
          <B>NOTE: This method is now obsolete.</B>
        </FONT>
      </P>
      <P>
        <B>Use XmlConfigurator.ConfigureAndWatch instead of DOMConfigurator.ConfigureAndWatch</B>
      </P>
      <HR />
      <p> Configures the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using the file specified, monitors the file for changes and reloads the configuration if a change is detected. </p>
      <h4 class="dtH4">Overload List</h4>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using the file specified, monitors the file for changes and reloads the configuration if a change is detected. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.ConfigureAndWatch_overload_2.html">public�static�void�ConfigureAndWatch(ILoggerRepository,FileInfo);</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures log4net using the file specified, monitors the file for changes and reloads the configuration if a change is detected. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.ConfigureAndWatch_overload_1.html">public�static�void�ConfigureAndWatch(FileInfo);</a>
      </blockquote>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Config.DOMConfigurator.html">DOMConfigurator Class</a> | <a href="log4net.Config.html">log4net.Config Namespace</a> | <b>Configure</b></p>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2013 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
