<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>Configure 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.Configure�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.Configure instead of DOMConfigurator.Configure</B>
      </P>
      <HR />
      <p> Automatically configures the log4net system based on the application's configuration settings. </p>
      <h4 class="dtH4">Overload List</h4>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Automatically configures the log4net system based on the application's configuration settings. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_1.html">public�static�void�Configure();</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Automatically configures the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using settings stored in the application's configuration file. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_2.html">public�static�void�Configure(ILoggerRepository);</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using the specified configuration file. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_7.html">public�static�void�Configure(ILoggerRepository,FileInfo);</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using the specified configuration file. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_8.html">public�static�void�Configure(ILoggerRepository,Stream);</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using the specified XML element. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_4.html">public�static�void�Configure(ILoggerRepository,XmlElement);</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures log4net using the specified configuration file. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_5.html">public�static�void�Configure(FileInfo);</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures log4net using the specified configuration file. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_6.html">public�static�void�Configure(Stream);</a>
      </blockquote>
      <p>
        <FONT color="red">
          <B>Obsolete. </B>
        </FONT> Configures log4net using a <code>log4net</code> element </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.DOMConfigurator.Configure_overload_3.html">public�static�void�Configure(XmlElement);</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></p>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
