<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>LoggerManager.ResetConfiguration Method (String)</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">LoggerManager.ResetConfiguration�Method�(String)</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Resets all values contained in this repository instance to their defaults. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overloads�Public�Shared�Sub�ResetConfiguration( _<br />���ByVal <i>repository</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a>�_<br />)</div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�static�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemVoidClassTopic.htm">void</a>�ResetConfiguration(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�<i>repository</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>repository</i>
        </dt>
        <dd>The repository to reset.</dd>
      </dl>
      <h4 class="dtH4">Remarks</h4>
            <p> Resets all values contained in the repository instance to their defaults. This removes all appenders from all loggers, sets the level of all non-root loggers to <code>null</code>, sets their additivity flag to <code>true</code> and sets the level of the root logger to <a href="log4net.Core.Level.Debug.html">Debug</a>. Moreover, message disabling is set its default "off" value. </p>		
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Core.LoggerManager.html">LoggerManager Class</a> | <a href="log4net.Core.html">log4net.Core Namespace</a> | <a href="log4net.Core.LoggerManager.ResetConfiguration_overloads.html">LoggerManager.ResetConfiguration Overload List</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="ResetConfiguration method"></param><param name="Keyword" value="ResetConfiguration method, LoggerManager class"></param><param name="Keyword" value="LoggerManager.ResetConfiguration method"></param></object><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>
