<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>LogManager.GetLoggerRepository 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">LogManager.GetLoggerRepository�Method�(Assembly)</h1>
      </div>
    </div>
    <div id="nstext">
      <P>
        <FONT color="red">
          <B>NOTE: This method is now obsolete.</B>
        </FONT>
      </P>
      <P>
        <B>Use GetRepository instead of GetLoggerRepository</B>
      </P>
      <HR />
      <p> Returns the default <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> instance. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overloads�Public�Shared�Function�GetLoggerRepository( _<br />���ByVal <i>repositoryAssembly</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemReflectionAssemblyClassTopic.htm">Assembly</a>�_<br />)�As�<a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�static�<a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a>�GetLoggerRepository(<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>The default <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> instance.</p>
      <h4 class="dtH4">Remarks</h4>
            <p> Gets the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> for the repository specified by the <i>repositoryAssembly</i> argument. </p>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.LogManager.html">LogManager Class</a> | <a href="log4net.html">log4net Namespace</a> | <a href="log4net.LogManager.GetLoggerRepository_overloads.html">LogManager.GetLoggerRepository 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="GetLoggerRepository method"></param><param name="Keyword" value="GetLoggerRepository method, LogManager class"></param><param name="Keyword" value="LogManager.GetLoggerRepository method"></param></object><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>
