<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.GetCurrentLoggers Method (Assembly)</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.GetCurrentLoggers�Method�(Assembly)</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Returns all the currently defined loggers in the specified assembly's repository. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overloads�Public�Shared�Function�GetCurrentLoggers( _<br />���ByVal <i>repositoryAssembly</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemReflectionAssemblyClassTopic.htm">Assembly</a>�_<br />)�As�<a href="log4net.Core.ILogger.html">ILogger()</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�static�<a href="log4net.Core.ILogger.html">ILogger[]</a>�GetCurrentLoggers(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemReflectionAssemblyClassTopic.htm">Assembly</a>�<i>repositoryAssembly</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>repositoryAssembly</i>
        </dt>
        <dd>The assembly to use to lookup the repository.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p>All the defined loggers.</p>
      <h4 class="dtH4">Remarks</h4>
            <p> The root logger is <b>not</b> included in the returned array. </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.GetCurrentLoggers_overloads.html">LoggerManager.GetCurrentLoggers 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="GetCurrentLoggers method"></param><param name="Keyword" value="GetCurrentLoggers method, LoggerManager class"></param><param name="Keyword" value="LoggerManager.GetCurrentLoggers 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>
