<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>ILogExtensions Class</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">ILogExtensions Class</h1>
      </div>
    </div>
    <div id="nstext">
      <p> The static class ILogExtensions contains a set of widely used methods that ease the interaction with the ILog interface implementations. </p>
      <p>For a list of all members of this type, see <a href="log4net.Util.ILogExtensionsMembers.html">ILogExtensions Members</a>.</p>
      <p>
        <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a>
        <br />���<b>log4net.Util.ILogExtensions</b></p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />MustInherit�NotInheritable�Public�Class�ILogExtensions</div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <div>public�abstract�sealed�class�ILogExtensions</div>
      </div>
      <H4 class="dtH4">Thread Safety</H4>
      <P>Public static (<b>Shared</b> in Visual Basic) members of this type are 
				safe for multithreaded operations. Instance members are <b>not</b> guaranteed to be 
				thread-safe.</P>
      <h4 class="dtH4">Remarks</h4>
            <p> This class contains methods for logging at different levels and checks the properties for determining if those logging levels are enabled in the current configuration. </p>
            <h4 class="dtH4">Example</h4><p>Simple example of logging messages <pre class="code"><span class="lang">[C#]
</span>using log4net.Util;

ILog log = LogManager.GetLogger("application-log");

log.InfoExt("Application Start");
log.DebugExt("This is a debug message");
</pre>
            </p><h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.Util.html">log4net.Util</a></p><p><b>Assembly: </b>log4net (in log4net.dll)
					</p><h4 class="dtH4">See Also</h4><p><a href="log4net.Util.ILogExtensionsMembers.html">ILogExtensions Members</a> | <a href="log4net.Util.html">log4net.Util Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="ILogExtensions class, about ILogExtensions class"></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>
