<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>MemoryAppender 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">MemoryAppender Class</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Stores logging events in an array. </p>
      <p>For a list of all members of this type, see <a href="log4net.Appender.MemoryAppenderMembers.html">MemoryAppender Members</a>.</p>
      <p>
        <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a>
        <br />���<a href="log4net.Appender.AppenderSkeleton.html">log4net.Appender.AppenderSkeleton</a><br />������<b>log4net.Appender.MemoryAppender</b></p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Class�MemoryAppender<div>����Inherits�<a href="log4net.Appender.AppenderSkeleton.html">AppenderSkeleton</a></div></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <div>public�class�MemoryAppender<b> : <a href="log4net.Appender.AppenderSkeleton.html">AppenderSkeleton</a></b></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> The memory appender stores all the logging events that are appended in an in-memory array. </p>
            <p> Use the <a href="log4net.Appender.MemoryAppender.GetEvents.html">GetEvents</a> method to get the current list of events that have been appended. </p>
            <p> Use the <a href="log4net.Appender.MemoryAppender.Clear.html">Clear</a> method to clear the current list of events. </p>
            <h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.Appender.html">log4net.Appender</a></p><p><b>Assembly: </b>log4net (in log4net.dll)
					</p><h4 class="dtH4">See Also</h4><p><a href="log4net.Appender.MemoryAppenderMembers.html">MemoryAppender Members</a> | <a href="log4net.Appender.html">log4net.Appender Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="MemoryAppender class, about MemoryAppender 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>
