<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>RollingFileAppender.ActivateOptions Method</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">RollingFileAppender.ActivateOptions�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Initialize the appender based on the options set </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overrides�Public�Sub�ActivateOptions()�_<div>����Implements�<a href="log4net.Core.IOptionHandler.ActivateOptions.html">IOptionHandler.ActivateOptions</a></div></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�override�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemVoidClassTopic.htm">void</a>�ActivateOptions();</div>
      <h4 class="dtH4">Implements</h4>
      <p>
        <a href="log4net.Core.IOptionHandler.ActivateOptions.html">IOptionHandler.ActivateOptions</a>
      </p>
      <h4 class="dtH4">Remarks</h4>
            <p> This is part of the <a href="log4net.Core.IOptionHandler.html">IOptionHandler</a> delayed object activation scheme. The <b>ActivateOptions</b> method must be called on this object after the configuration properties have been set. Until <b>ActivateOptions</b> is called this object is in an undefined state and must not be used. </p>
            <p> If any of the configuration properties are modified then <b>ActivateOptions</b> must be called again. </p>
            <p> Sets initial conditions including date/time roll over information, first check, scheduledFilename, and calls <a href="log4net.Appender.RollingFileAppender.ExistingInit.html">ExistingInit</a> to initialize the current number of backups. </p>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Appender.RollingFileAppender.html">RollingFileAppender Class</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="ActivateOptions method"></param><param name="Keyword" value="ActivateOptions method, RollingFileAppender class"></param><param name="Keyword" value="RollingFileAppender.ActivateOptions 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>
