<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>log4net.Plugin</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">log4net.Plugin Namespace</h1>
      </div>
    </div>
    <div id="nstext">
      <p>
        <a href="log4net.PluginHierarchy.html">Namespace hierarchy</a>
      </p>
      <h3 class="dtH3">Classes</h3>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
          <tr valign="top">
            <th width="50%">Class</th>
            <th width="50%">Description</th>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Plugin.PluginCollection.html">PluginCollection</a>
            </td>
            <td width="50%"> A strongly-typed collection of <a href="log4net.Plugin.IPlugin.html">IPlugin</a> objects. </td>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Plugin.PluginMap.html">PluginMap</a>
            </td>
            <td width="50%"> Map of repository plugins. </td>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Plugin.PluginSkeleton.html">PluginSkeleton</a>
            </td>
            <td width="50%"> Base implementation of <a href="log4net.Plugin.IPlugin.html">IPlugin</a>
            </td>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Plugin.RemoteLoggingServerPlugin.html">RemoteLoggingServerPlugin</a>
            </td>
            <td width="50%"> Plugin that listens for events from the <a href="log4net.Appender.RemotingAppender.html">RemotingAppender</a>
            </td>
          </tr>
        </table>
      </div>
      <h3 class="dtH3">Interfaces</h3>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
          <tr valign="top">
            <th width="50%">Interface</th>
            <th width="50%">Description</th>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Plugin.IPlugin.html">IPlugin</a>
            </td>
            <td width="50%"> Interface implemented by logger repository plugins. </td>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Plugin.IPluginFactory.html">IPluginFactory</a>
            </td>
            <td width="50%"> Interface used to create plugins. </td>
          </tr>
        </table>
      </div>
      <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>
