<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.GetLogger 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">LogManager.GetLogger�Method�(String)</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Retrieves or creates a named logger. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overloads�Public�Shared�Function�GetLogger( _<br />���ByVal <i>name</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a>�_<br />)�As�<a href="log4net.ILog.html">ILog</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�static�<a href="log4net.ILog.html">ILog</a>�GetLogger(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�<i>name</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>name</i>
        </dt>
        <dd>The name of the logger to retrieve.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p>The logger with the name specified.</p>
      <h4 class="dtH4">Remarks</h4>
            <p> Retrieves a logger named as the <i>name</i> parameter. If the named logger already exists, then the existing instance will be returned. Otherwise, a new instance is created. </p>
            <p>By default, loggers do not have a set level but inherit it from the hierarchy. This is one of the central features of log4net. </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.GetLogger_overloads.html">LogManager.GetLogger 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="GetLogger method"></param><param name="Keyword" value="GetLogger method, LogManager class"></param><param name="Keyword" value="LogManager.GetLogger 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>
