Author: carnold
Date: Sat Feb 16 08:55:53 2008
New Revision: 628358

URL: http://svn.apache.org/viewvc?rev=628358&view=rev
Log:
LOGCXX-220: Rework of l::RFA using l::r::RFASkeleton superclass

Modified:
    logging/log4cxx/trunk/src/main/cpp/obsoleterollingfileappender.cpp
    logging/log4cxx/trunk/src/main/cpp/rollingfileappender.cpp
    logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingfileappender.h
    logging/log4cxx/trunk/src/main/include/log4cxx/rollingfileappender.h

Modified: logging/log4cxx/trunk/src/main/cpp/obsoleterollingfileappender.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/obsoleterollingfileappender.cpp?rev=628358&r1=628357&r2=628358&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/obsoleterollingfileappender.cpp 
(original)
+++ logging/log4cxx/trunk/src/main/cpp/obsoleterollingfileappender.cpp Sat Feb 
16 08:55:53 2008
@@ -60,29 +60,26 @@
 
 
 RollingFileAppender::RollingFileAppender()
-   : maxFileSize(10*1024*1024), maxBackupIndex(1),
-     rfa(new log4cxx::rolling::RollingFileAppender()) {
+   : maxFileSize(10*1024*1024), maxBackupIndex(1) {
 }
 
 RollingFileAppender::RollingFileAppender(
   const LayoutPtr& layout,
   const LogString& filename,
   bool append)
-  : maxFileSize(10*1024*1024), maxBackupIndex(1),
-    rfa(new log4cxx::rolling::RollingFileAppender()) {
-  rfa->setLayout(layout);
-  rfa->setFile(filename);
-  rfa->setAppend(append);
+  : maxFileSize(10*1024*1024), maxBackupIndex(1) {
+  setLayout(layout);
+  setFile(filename);
+  setAppend(append);
   Pool pool;
   activateOptions(pool);
 }
 
 RollingFileAppender::RollingFileAppender(const LayoutPtr& layout,
    const LogString& filename)
-   : maxFileSize(10*1024*1024), maxBackupIndex(1),
-     rfa(new log4cxx::rolling::RollingFileAppender()) {
-  rfa->setLayout(layout);
-  rfa->setFile(filename);
+   : maxFileSize(10*1024*1024), maxBackupIndex(1) {
+  setLayout(layout);
+  setFile(filename);
   Pool pool;
   activateOptions(pool);
 }
@@ -90,13 +87,6 @@
 RollingFileAppender::~RollingFileAppender() {
 }
 
-void RollingFileAppender::addRef() const {
-    ObjectImpl::addRef();
-}
-
-void RollingFileAppender::releaseRef() const {
-    ObjectImpl::releaseRef();
-}
 
 void RollingFileAppender::setOption(const LogString& option,
         const LogString& value)
@@ -117,7 +107,7 @@
         }
         else
         {
-                rfa->setOption(option, value);
+                
log4cxx::rolling::RollingFileAppenderSkeleton::setOption(option, value);
         }
 }
 
@@ -135,7 +125,7 @@
 }
 
 void RollingFileAppender::setMaximumFileSize(int maxFileSize1) {
-  RollingFileAppender::maxFileSize = maxFileSize1;
+  maxFileSize = maxFileSize1;
 }
 
 void RollingFileAppender::setMaxFileSize(const LogString& value) {
@@ -147,88 +137,17 @@
       new log4cxx::rolling::SizeBasedTriggeringPolicy());
   trigger->setMaxFileSize(maxFileSize);
   trigger->activateOptions(pool);
-  rfa->setTriggeringPolicy(trigger);
+  setTriggeringPolicy(trigger);
 
   log4cxx::rolling::FixedWindowRollingPolicyPtr rolling(
       new log4cxx::rolling::FixedWindowRollingPolicy());
   rolling->setMinIndex(1);
   rolling->setMaxIndex(maxBackupIndex);
-  rolling->setFileNamePattern(rfa->getFile() + LOG4CXX_STR(".%i"));
+  rolling->setFileNamePattern(getFile() + LOG4CXX_STR(".%i"));
   rolling->activateOptions(pool);
-  rfa->setRollingPolicy(rolling);
-
-  rfa->activateOptions(pool);
-}
-
-
-void RollingFileAppender::addFilter(const FilterPtr& newFilter) {
-  rfa->addFilter(newFilter);
-}
-
-FilterPtr RollingFileAppender::getFilter() const {
-  return rfa->getFilter();
-}
-
-void RollingFileAppender::clearFilters() {
-  rfa->clearFilters();
-}
-
-void RollingFileAppender::close() {
-  rfa->close();
-}
-
-bool RollingFileAppender::isClosed() const {
-  return false;
-}
-
-bool RollingFileAppender::isActive() const {
-//  return rfa->isActive();
-  return true;
-}
-
-void RollingFileAppender::doAppend(const LoggingEventPtr& event, Pool& p) {
-  rfa->doAppend(event, p);
-}
-
-LogString RollingFileAppender::getName() const {
-  return rfa->getName();
-}
-
-void RollingFileAppender::setLayout(const LayoutPtr& layout) {
-  rfa->setLayout(layout);
-}
+  setRollingPolicy(rolling);
 
-LayoutPtr RollingFileAppender::getLayout() const {
-  return rfa->getLayout();
+  log4cxx::rolling::RollingFileAppenderSkeleton::activateOptions(pool);
 }
 
-void RollingFileAppender::setName(const LogString& name) {
-  rfa->setName(name);
-}
-
-void RollingFileAppender::setFile(const LogString& file) {
-  rfa->setFile(file);
-}
-
-bool RollingFileAppender::getAppend() const {
-  return rfa->getAppend();
-}
-
-void RollingFileAppender::setBufferedIO(bool bufferedIO) {
-  rfa->setBufferedIO(bufferedIO);
-}
-
-void RollingFileAppender::setBufferSize(int bufferSize) {
-  rfa->setBufferSize(bufferSize);
-}
-
-
-void RollingFileAppender::rollOver() {
-      Pool p;
-      rfa->rollover(p);
-}
-
-bool RollingFileAppender::requiresLayout() const {
-     return true;
-}
 

Modified: logging/log4cxx/trunk/src/main/cpp/rollingfileappender.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/rollingfileappender.cpp?rev=628358&r1=628357&r2=628358&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/rollingfileappender.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/rollingfileappender.cpp Sat Feb 16 
08:55:53 2008
@@ -33,19 +33,24 @@
 using namespace log4cxx::helpers;
 using namespace log4cxx::spi;
 
+
+IMPLEMENT_LOG4CXX_OBJECT(RollingFileAppenderSkeleton)
 IMPLEMENT_LOG4CXX_OBJECT(RollingFileAppender)
 
 
 /**
  * Construct a new instance.
  */
+RollingFileAppenderSkeleton::RollingFileAppenderSkeleton() {
+}
+
 RollingFileAppender::RollingFileAppender() {
 }
 
 /**
  * Prepare instance of use.
  */
-void RollingFileAppender::activateOptions(Pool &p) {
+void RollingFileAppenderSkeleton::activateOptions(Pool &p) {
   if (rollingPolicy == NULL) {
    FixedWindowRollingPolicy* fwrp = new FixedWindowRollingPolicy();
     fwrp->setFileNamePattern(getFile() + LOG4CXX_STR(".%i"));
@@ -128,7 +133,7 @@
 
  * @return true if rollover performed.
  */
-bool RollingFileAppender::rollover(Pool& p) {
+bool RollingFileAppenderSkeleton::rollover(Pool& p) {
   //
   //   can't roll without a policy
   //
@@ -246,7 +251,7 @@
 /**
  * [EMAIL PROTECTED]
 */
-void RollingFileAppender::subAppend(const LoggingEventPtr& event, Pool& p) {
+void RollingFileAppenderSkeleton::subAppend(const LoggingEventPtr& event, 
Pool& p) {
   // The rollover check must precede actual writing. This is the
   // only correct behavior for time driven triggers.
   if (
@@ -270,7 +275,7 @@
  * Get rolling policy.
  * @return rolling policy.
  */
-RollingPolicyPtr RollingFileAppender::getRollingPolicy() const {
+RollingPolicyPtr RollingFileAppenderSkeleton::getRollingPolicy() const {
   return rollingPolicy;
 }
 
@@ -278,7 +283,7 @@
  * Get triggering policy.
  * @return triggering policy.
  */
-TriggeringPolicyPtr RollingFileAppender::getTriggeringPolicy() const {
+TriggeringPolicyPtr RollingFileAppenderSkeleton::getTriggeringPolicy() const {
   return triggeringPolicy;
 }
 
@@ -286,7 +291,7 @@
  * Sets the rolling policy.
  * @param policy rolling policy.
  */
-void RollingFileAppender::setRollingPolicy(const RollingPolicyPtr& policy) {
+void RollingFileAppenderSkeleton::setRollingPolicy(const RollingPolicyPtr& 
policy) {
   rollingPolicy = policy;
 }
 
@@ -294,14 +299,14 @@
  * Set triggering policy.
  * @param policy triggering policy.
  */
-void RollingFileAppender::setTriggeringPolicy(const TriggeringPolicyPtr& 
policy) {
+void RollingFileAppenderSkeleton::setTriggeringPolicy(const 
TriggeringPolicyPtr& policy) {
   triggeringPolicy = policy;
 }
 
 /**
  * Close appender.  Waits for any asynchronous file compression actions to be 
completed.
  */
-void RollingFileAppender::close() {
+void RollingFileAppenderSkeleton::close() {
   {
   synchronized sync (mutex);
     if (lastRolloverAsyncAction != NULL) {
@@ -328,7 +333,7 @@
   /**
    * Rolling file appender to inform of stream writes.
    */
-  RollingFileAppenderPtr rfa;
+  RollingFileAppenderSkeletonPtr rfa;
 
   public:
   /**
@@ -337,7 +342,7 @@
    * @param rfa rolling file appender to inform.
    */
   CountingOutputStream(
-    OutputStreamPtr& os1, RollingFileAppender* rfa1) :
+    OutputStreamPtr& os1, RollingFileAppenderSkeleton* rfa1) :
       os(os1), rfa(rfa1) {
   }
 
@@ -376,7 +381,7 @@
  @param os output stream, may not be null.
  @return new writer.
  */
-WriterPtr RollingFileAppender::createWriter(OutputStreamPtr& os) {
+WriterPtr RollingFileAppenderSkeleton::createWriter(OutputStreamPtr& os) {
   OutputStreamPtr cos(new CountingOutputStream(os, this));
   return FileAppender::createWriter(cos);
 }
@@ -385,7 +390,7 @@
  * Get byte length of current active log file.
  * @return byte length of current active log file.
  */
-size_t RollingFileAppender::getFileLength() const {
+size_t RollingFileAppenderSkeleton::getFileLength() const {
   return fileLength;
 }
 
@@ -393,6 +398,6 @@
  * Increments estimated byte length of current active log file.
  * @param increment additional bytes written to log file.
  */
-void RollingFileAppender::incrementFileLength(size_t increment) {
+void RollingFileAppenderSkeleton::incrementFileLength(size_t increment) {
   fileLength += increment;
 }

Modified: 
logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingfileappender.h
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingfileappender.h?rev=628358&r1=628357&r2=628358&view=diff
==============================================================================
--- 
logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingfileappender.h 
(original)
+++ 
logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingfileappender.h 
Sat Feb 16 08:55:53 2008
@@ -30,54 +30,15 @@
 
 
         /**
-         * <code>RollingFileAppender</code> extends [EMAIL PROTECTED] 
FileAppender} to backup the log files
-         * depending on [EMAIL PROTECTED] RollingPolicy} and [EMAIL PROTECTED] 
TriggeringPolicy}.
-         * <p>
-         * To be of any use, a <code>RollingFileAppender</code> instance must 
have both
-         * a <code>RollingPolicy</code> and a <code>TriggeringPolicy</code> 
set up.
-         * However, if its <code>RollingPolicy</code> also implements the
-         * <code>TriggeringPolicy</code> interface, then only the former needs 
to be
-         * set up. For example, [EMAIL PROTECTED] TimeBasedRollingPolicy} acts 
both as a
-         * <code>RollingPolicy</code> and a <code>TriggeringPolicy</code>.
-         *
-         * <p><code>RollingFileAppender</code> can be configured 
programattically or
-         * using [EMAIL PROTECTED] org.apache.log4j.joran.JoranConfigurator}. 
Here is a sample
-         * configration file:
-
-        <pre>&lt;?xml version="1.0" encoding="UTF-8" ?>
-        &lt;!DOCTYPE log4j:configuration>
-
-        &lt;log4j:configuration debug="true">
-
-          &lt;appender name="ROLL" 
class="org.apache.log4j.rolling.RollingFileAppender">
-            <b>&lt;rollingPolicy 
class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
-              &lt;param name="FileNamePattern" 
value="/wombat/foo.%d{yyyy-MM}.gz"/>
-            &lt;/rollingPolicy></b>
-
-            &lt;layout class="org.apache.log4j.PatternLayout">
-              &lt;param name="ConversionPattern" value="%c{1} - %m%n"/>
-            &lt;/layout>
-          &lt;/appender>
-
-          &lt;root">
-            &lt;appender-ref ref="ROLL"/>
-          &lt;/root>
-
-        &lt;/log4j:configuration>
-        </pre>
-
-         *<p>This configuration file specifies a monthly rollover schedule 
including
-         * automatic compression of the archived files. See
-         * [EMAIL PROTECTED] TimeBasedRollingPolicy} for more details.
-         *
-         * 
-         * 
+         *  Base class for log4cxx::rolling::RollingFileAppender and 
log4cxx::RollingFileAppender
+         * (analogues of org.apache.log4j.rolling.RFA from extras companion and
+         *  org.apache.log4j.RFA from log4j 1.2, respectively). 
          * 
          * */
-        class LOG4CXX_EXPORT RollingFileAppender : public FileAppender {
-          DECLARE_LOG4CXX_OBJECT(RollingFileAppender)
+        class LOG4CXX_EXPORT RollingFileAppenderSkeleton : public FileAppender 
{
+          DECLARE_LOG4CXX_OBJECT(RollingFileAppenderSkeleton)
           BEGIN_LOG4CXX_CAST_MAP()
-                  LOG4CXX_CAST_ENTRY(RollingFileAppender)
+                  LOG4CXX_CAST_ENTRY(RollingFileAppenderSkeleton)
                   LOG4CXX_CAST_ENTRY_CHAIN(FileAppender)
           END_LOG4CXX_CAST_MAP()
 
@@ -106,7 +67,7 @@
            * The default constructor simply calls its [EMAIL PROTECTED]
            * FileAppender#FileAppender parents constructor}.
            * */
-          RollingFileAppender();
+          RollingFileAppenderSkeleton();
 
           void activateOptions(log4cxx::helpers::Pool&);
 
@@ -134,7 +95,7 @@
         */
         virtual void subAppend(const spi::LoggingEventPtr& event, 
log4cxx::helpers::Pool& p);
 
-        public:
+        protected:
 
           RollingPolicyPtr getRollingPolicy() const;
 
@@ -150,7 +111,7 @@
 
           void setTriggeringPolicy(const TriggeringPolicyPtr& policy);
 
-
+        public:
           /**
             * Close appender.  Waits for any asynchronous file compression 
actions to be completed.
           */
@@ -185,7 +146,79 @@
           void incrementFileLength(size_t increment);
 
         };
+        
+        /**
+         * <code>RollingFileAppender</code> extends [EMAIL PROTECTED] 
FileAppender} to backup the log files
+         * depending on [EMAIL PROTECTED] RollingPolicy} and [EMAIL PROTECTED] 
TriggeringPolicy}.
+         * <p>
+         * To be of any use, a <code>RollingFileAppender</code> instance must 
have both
+         * a <code>RollingPolicy</code> and a <code>TriggeringPolicy</code> 
set up.
+         * However, if its <code>RollingPolicy</code> also implements the
+         * <code>TriggeringPolicy</code> interface, then only the former needs 
to be
+         * set up. For example, [EMAIL PROTECTED] TimeBasedRollingPolicy} acts 
both as a
+         * <code>RollingPolicy</code> and a <code>TriggeringPolicy</code>.
+         *
+         * <p><code>RollingFileAppender</code> can be configured 
programattically or
+         * using [EMAIL PROTECTED] org.apache.log4j.joran.JoranConfigurator}. 
Here is a sample
+         * configration file:
+
+        <pre>&lt;?xml version="1.0" encoding="UTF-8" ?>
+        &lt;!DOCTYPE log4j:configuration>
+
+        &lt;log4j:configuration debug="true">
+
+          &lt;appender name="ROLL" 
class="org.apache.log4j.rolling.RollingFileAppender">
+            <b>&lt;rollingPolicy 
class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
+              &lt;param name="FileNamePattern" 
value="/wombat/foo.%d{yyyy-MM}.gz"/>
+            &lt;/rollingPolicy></b>
+
+            &lt;layout class="org.apache.log4j.PatternLayout">
+              &lt;param name="ConversionPattern" value="%c{1} - %m%n"/>
+            &lt;/layout>
+          &lt;/appender>
+
+          &lt;root">
+            &lt;appender-ref ref="ROLL"/>
+          &lt;/root>
+
+        &lt;/log4j:configuration>
+        </pre>
+
+         *<p>This configuration file specifies a monthly rollover schedule 
including
+         * automatic compression of the archived files. See
+         * [EMAIL PROTECTED] TimeBasedRollingPolicy} for more details.
+         *
+         * 
+         * 
+         * 
+         * */
+        class LOG4CXX_EXPORT RollingFileAppender : public 
RollingFileAppenderSkeleton {
+          DECLARE_LOG4CXX_OBJECT(RollingFileAppender)
+          BEGIN_LOG4CXX_CAST_MAP()
+                  LOG4CXX_CAST_ENTRY(RollingFileAppender)
+                  LOG4CXX_CAST_ENTRY_CHAIN(RollingFileAppenderSkeleton)
+          END_LOG4CXX_CAST_MAP()
+
+        public:
+          RollingFileAppender();
+
+          using RollingFileAppenderSkeleton::getRollingPolicy;
+
+          using RollingFileAppenderSkeleton::getTriggeringPolicy;
+
+          /**
+           * Sets the rolling policy. In case the 'policy' argument also 
implements
+           * [EMAIL PROTECTED] TriggeringPolicy}, then the triggering policy 
for this appender
+           * is automatically set to be the policy argument.
+           * @param policy
+           */
+          using RollingFileAppenderSkeleton::setRollingPolicy;
+
+          using RollingFileAppenderSkeleton::setTriggeringPolicy;
+
+        };
 
+        LOG4CXX_PTR_DEF(RollingFileAppenderSkeleton)
         LOG4CXX_PTR_DEF(RollingFileAppender)
 
     }

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/rollingfileappender.h
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/rollingfileappender.h?rev=628358&r1=628357&r2=628358&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/rollingfileappender.h 
(original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/rollingfileappender.h Sat 
Feb 16 08:55:53 2008
@@ -28,7 +28,7 @@
 {
 
   /** RollingFileAppender extends FileAppender to backup the log files when 
they reach a certain size. */
-  class LOG4CXX_EXPORT RollingFileAppender : public 
log4cxx::helpers::ObjectImpl, public Appender
+  class LOG4CXX_EXPORT RollingFileAppender : public 
log4cxx::rolling::RollingFileAppenderSkeleton
   {
   private:
     /** The default maximum file size is 10MB. */
@@ -37,8 +37,6 @@
     /** There is one backup file by default. */
     int maxBackupIndex;
 
-    log4cxx::rolling::RollingFileAppenderPtr rfa;
-
   public:
     //
     //   Use custom class to use non-default name to avoid
@@ -46,13 +44,10 @@
     DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS( RollingFileAppender, 
ClassRollingFileAppender )
     BEGIN_LOG4CXX_CAST_MAP()
          LOG4CXX_CAST_ENTRY( RollingFileAppender )
-         LOG4CXX_CAST_ENTRY( Appender )
-         LOG4CXX_CAST_ENTRY( spi::OptionHandler)
+         LOG4CXX_CAST_ENTRY_CHAIN( 
log4cxx::rolling::RollingFileAppenderSkeleton )
     END_LOG4CXX_CAST_MAP()
     /** The default constructor simply calls its [EMAIL PROTECTED] 
FileAppender#FileAppender parents constructor}. */
     RollingFileAppender();
-   void addRef() const;
-   void releaseRef() const;
 
     /**
                     Instantiate a RollingFileAppender and open the file 
designated by
@@ -78,17 +73,6 @@
     /** Get the maximum size that the output file is allowed to reach before 
being rolled over to backup files. */
     long getMaximumFileSize() const;
 
-    /**
-                    Implements the usual roll over behaviour.
-
-    <p>If <code>MaxBackupIndex</code> is positive, then files 
{<code>File.1</code>, ..., <code>File.MaxBackupIndex -1</code>}
-     are renamed to {<code>File.2</code>, ..., 
<code>File.MaxBackupIndex</code>}. Moreover, <code>File</code> is
-     renamed <code>File.1</code> and closed. A new <code>File</code> is 
created to receive further log output.
-
-    <p>If <code>MaxBackupIndex</code> is equal to zero, then the 
<code>File</code> is truncated with no backup files created.
-    */
-    // synchronization not necessary since doAppend is alreasy synched
-    void rollOver();
 
     /**
                     Set the maximum number of backup files to keep around.
@@ -118,135 +102,6 @@
     /** Prepares RollingFileAppender for use. */
     void activateOptions( log4cxx::helpers::Pool & pool );
 
-
-    /**
-     Add a filter to the end of the filter list.
-
-    
-    */
-    void addFilter( const log4cxx::spi::FilterPtr & newFilter );
-
-    /**
-     Returns the head Filter. The Filters are organized in a linked list and
-     so all Filters on this Appender are available through the result.
-
-     @return the head Filter or null, if no Filters are present
-
-    
-    */
-    log4cxx::spi::FilterPtr getFilter() const;
-
-    /**
-     Clear the list of filters by removing all the filters in it.
-
-    
-    */
-    void clearFilters();
-
-    /**
-     Release any resources allocated within the appender such as file handles, 
network connections, etc.
-
-    <p> It is a programming error to append to a closed appender. </p>
-
-    
-    */
-    void close();
-
-    /**
-     Is this appender closed?
-
-    
-    */
-    bool isClosed() const;
-
-    /**
-     Is this appender in working order?
-
-    
-    */
-    bool isActive() const;
-
-    /**
-     Log in <code>Appender</code> specific way. When appropriate, Loggers will
-     call the <code>doAppend</code> method of appender implementations in 
order to log.
-    */
-    void doAppend( const log4cxx::spi::LoggingEventPtr& event, 
log4cxx::helpers::Pool& p );
-
-    /** Get the name of this appender. The name uniquely identifies the 
appender. */
-    LogString getName() const;
-
-    /**
-     Set the [EMAIL PROTECTED] Layout} for this appender.
-
-    
-    */
-    void setLayout( const LayoutPtr & layout );
-
-    /**
-     Returns this appenders layout.
-
-    
-    */
-    LayoutPtr getLayout() const;
-
-    /**
-     Set the name of this appender. The name is used by other components to 
identify this appender.
-
-    
-    */
-    void setName( const LogString & name );
-
-
-    /**
-       The <b>File</b> property takes a string value which should be the name 
of the file to append to.
-
-    <p><font color="#DD0044"><b>Note that the special values "System.out" or 
"System.err" are no longer honored.</b></font>
-
-    <p>Note: Actual opening of the file is made when [EMAIL PROTECTED] 
#activateOptions} is called, not when the options are set.
-    */
-    void setFile( const LogString & file );
-
-    /** Returns the value of the <b>Append</b> option. */
-    bool getAppend() const;
-
-      /** Returns the value of the <b>File</b> option. */
-      LogString getFile() const;
-
-      /**
-         Get the value of the <b>BufferedIO</b> option.
-
-      <p>BufferedIO will significatnly increase performance on heavily loaded 
systems.
-
-       */
-      bool getBufferedIO() const;
-
-      /** Get the size of the IO buffer. */
-      int getBufferSize() const;
-
-        /**
-           The <b>Append</b> option takes a boolean value. It is set to
-         <code>true</code> by default. If true, then <code>File</code>
-         will be opened in append mode by [EMAIL PROTECTED] #setFile setFile} 
(see above). Otherwise, [EMAIL PROTECTED] #setFile setFile} will open
-         <code>File</code> in truncate mode.
-
-        <p>Note: Actual opening of the file is made when [EMAIL PROTECTED] 
#activateOptions} is called, not when the options are set.
-         */
-        void setAppend( bool flag );
-
-        /**
-           The <b>BufferedIO</b> option takes a boolean value. It is set to
-         <code>false</code> by default. If true, then <code>File</code>
-         will be opened and the resulting [EMAIL PROTECTED] java.io.Writer} 
wrapped around a [EMAIL PROTECTED] java.io.BufferedWriter}.
-
-        BufferedIO will significatnly increase performance on heavily loaded 
systems.
-
-         */
-        void setBufferedIO( bool bufferedIO );
-
-        /** Set the size of the IO buffer. */
-        void setBufferSize( int bufferSize );
-
-        bool requiresLayout() const;
 
       }; // class RollingFileAppender
       LOG4CXX_PTR_DEF(RollingFileAppender)


Reply via email to