<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>Hierarchy.IsDisabled 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">Hierarchy.IsDisabled�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Test if this hierarchy is disabled for the specified <a href="log4net.Core.Level.html">Level</a>. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Function�IsDisabled( _<br />���ByVal <i>level</i>�As�<a href="log4net.Core.Level.html">Level</a>�_<br />)�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemBooleanClassTopic.htm">Boolean</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemBooleanClassTopic.htm">bool</a>�IsDisabled(<br />���<a href="log4net.Core.Level.html">Level</a>�<i>level</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>level</i>
        </dt>
        <dd>The level to check against.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p>
            <code>true</code> if the repository is disabled for the level argument, <code>false</code> otherwise. </p>
      <h4 class="dtH4">Remarks</h4>
            <p> If this hierarchy has not been configured then this method will always return <code>true</code>. </p>
            <p> This method will return <code>true</code> if this repository is disabled for <code>level</code> object passed as parameter and <code>false</code> otherwise. </p>
            <p> See also the <a href="log4net.Repository.ILoggerRepository.Threshold.html">Threshold</a> property. </p>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Repository.Hierarchy.Hierarchy.html">Hierarchy Class</a> | <a href="log4net.Repository.Hierarchy.html">log4net.Repository.Hierarchy Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="IsDisabled method"></param><param name="Keyword" value="IsDisabled method, Hierarchy class"></param><param name="Keyword" value="Hierarchy.IsDisabled 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>
