<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">BasicConfigurator.Configure�Method</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Initializes the log4net system with a default configuration. </p>
      <h4 class="dtH4">Overload List</h4>
      <p> Initializes the log4net system with a default configuration. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.BasicConfigurator.Configure_overload_1.html">public�static�ICollection�Configure();</a>
      </blockquote>
      <p> Initializes the log4net system using the specified appender. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.BasicConfigurator.Configure_overload_2.html">public�static�ICollection�Configure(IAppender);</a>
      </blockquote>
      <p> Initializes the log4net system using the specified appenders. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.BasicConfigurator.Configure_overload_3.html">public�static�ICollection�Configure(params�IAppender[]);</a>
      </blockquote>
      <p> Initializes the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> with a default configuration. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.BasicConfigurator.Configure_overload_4.html">public�static�ICollection�Configure(ILoggerRepository);</a>
      </blockquote>
      <p> Initializes the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using the specified appender. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.BasicConfigurator.Configure_overload_5.html">public�static�ICollection�Configure(ILoggerRepository,IAppender);</a>
      </blockquote>
      <p> Initializes the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> using the specified appenders. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.BasicConfigurator.Configure_overload_6.html">public�static�ICollection�Configure(ILoggerRepository,params�IAppender[]);</a>
      </blockquote>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Config.BasicConfigurator.html">BasicConfigurator 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-2013 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
