Apache Log4cxx  Version 1.5.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
log4cxx::rolling::RollingFileAppender Class Reference

RollingFileAppender extends log4cxx::FileAppender to backup the log files depending on RollingPolicy and TriggeringPolicy . More...

#include <rollingfileappender.h>

Inheritance diagram for log4cxx::rolling::RollingFileAppender:

Public Member Functions

 
  RollingFileAppender (std::unique_ptr< RollingFileAppenderPriv > priv)
 
int  getMaxBackupIndex () const
  Returns the value of the MaxBackupIndex option.
 
size_t  getMaximumFileSize () const
  Get the maximum size that the output file is allowed to reach before being rolled over to backup files.
 
void  setMaxBackupIndex (int maxBackupIndex)
  Set the maximum number of backup files to keep around.
 
void  setMaxFileSize (const LogString &value)
  Set the maximum size that the output file is allowed to reach before being rolled over to backup files.
 
void  setMaximumFileSize (size_t value)
 
void  setDatePattern (const LogString &pattern)
  The DatePattern takes a string in the same format as expected by SimpleDateFormat .
 
LogString  makeFileNamePattern (const LogString &datePattern)
 
void  setOption (const LogString &option, const LogString &value) override
  Set option to value.
 
void  activateOptions (helpers::Pool &pool) override
  Activate the options that were previously set with calls to option setters.
 
  Implements the configured roll over behaviour.
 
RollingPolicyPtr  getRollingPolicy () const
  The policy that implements the scheme for rolling over a log file.
 
TriggeringPolicyPtr  getTriggeringPolicy () const
  The policy that determine when to trigger a log file rollover.
 
void  setRollingPolicy (const RollingPolicyPtr &policy)
  Use policy as the scheme for rolling over log files.
 
void  setTriggeringPolicy (const TriggeringPolicyPtr &policy)
  Use policy to determine when to trigger a log file rollover.
 
void  close () override
  Close appender.
 
size_t  getFileLength () const
  Get byte length of current active log file.
 
void  incrementFileLength (size_t increment)
  Increments estimated byte length of current active log file.
 
- Public Member Functions inherited from log4cxx::FileAppender
  The default constructor does not do anything.
 
  FileAppender (const LayoutPtr &layout, const LogString &filename, bool append, bool bufferedIO, int bufferSize)
  Instantiate a FileAppender and open the file designated by filename.
 
  FileAppender (const LayoutPtr &layout, const LogString &filename, bool append)
  Instantiate a FileAppender and open the file designated by filename.
 
  FileAppender (const LayoutPtr &layout, const LogString &filename)
  Instantiate a FileAppender and open the file designated by filename.
 
 
virtual void  setFile (const LogString &file)
  The File property takes a string value which should be the name of the file to append to.
 
bool  getAppend () const
  Returns the value of the Append option.
 
LogString  getFile () const
  Returns the value of the File option.
 
void  activateOptions (helpers::Pool &p) override
  Activate the options that were previously set with calls to option setters.
 
void  setOption (const LogString &option, const LogString &value) override
  Set option to value.
 
bool  getBufferedIO () const
  Get the value of the BufferedIO option.
 
int  getBufferSize () const
  Get the size of the IO buffer.
 
int  getBufferedSeconds () const
  Get the number of seconds between file writes when the BufferedIO option is true.
 
void  setAppend (bool newValue)
  Set file open mode to newValue.
 
void  setBufferedIO (bool newValue)
  Set buffered output behavior to newValue.
 
void  setBufferSize (int newValue)
  Use newValue as the size of the output buffer.
 
void  setBufferedSeconds (int newValue)
  Flush the output buffer every newValue seconds.
 
- Public Member Functions inherited from log4cxx::WriterAppender
  This default constructor does nothing.
 
 
void  activateOptions (helpers::Pool &pool) override
  Derived appenders should override this method if option structure requires it.
 
void  setImmediateFlush (bool value)
  If the ImmediateFlush option is set to true, the appender will flush at the end of each write.
 
bool  getImmediateFlush () const
  Returns value of the ImmediateFlush option.
 
void  append (const spi::LoggingEventPtr &event, helpers::Pool &p) override
  This method is called by the AppenderSkeleton::doAppend method.
 
void  close () override
  Close this appender instance.
 
  The current encoding value.
 
void  setEncoding (const LogString &value)
  Set the encoding to value.
 
void  setOption (const LogString &option, const LogString &value) override
  Set option to value.
 
void  setWriter (const helpers::WriterPtr &writer)
 
const helpers::WriterPtr  getWriter () const
 
bool  requiresLayout () const override
  Configurators call this method to determine if the appender requires a layout.
 
- Public Member Functions inherited from log4cxx::AppenderSkeleton
 
  AppenderSkeleton (const LayoutPtr &layout)
 
virtual  ~AppenderSkeleton ()
 
void  finalize ()
  Finalize this appender by calling the derived class' close method.
 
void  activateOptions (helpers::Pool &) override
  Activate the options that were previously set with calls to option setters.
 
void  setOption (const LogString &option, const LogString &value) override
  Set option to value.
 
void  addFilter (const spi::FilterPtr newFilter) override
  Add a filter to end of the filter list.
 
void  clearFilters () override
  Clear the filters chain.
 
  Return the currently set spi::ErrorHandler for this Appender.
 
spi::FilterPtr  getFilter () const override
  Returns the head Filter.
 
const spi::FilterPtr  getFirstFilter () const
  Return the first filter in the filter chain for this Appender.
 
LayoutPtr  getLayout () const override
  Returns the layout of this appender.
 
LogString  getName () const override
  Returns the name of this Appender.
 
const LevelPtr  getThreshold () const
  Returns this appenders threshold level.
 
bool  isAsSevereAsThreshold (const LevelPtr &level) const
  Check whether the message level is below the appender's threshold.
 
void  doAppend (const spi::LoggingEventPtr &event, helpers::Pool &pool) override
  This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific AppenderSkeleton::append method.
 
  Set the ErrorHandler for this Appender.
 
void  setLayout (const LayoutPtr layout1) override
  Set the layout for this appender.
 
void  setName (const LogString &name1) override
  Set the name of this Appender.
 
void  setThreshold (const LevelPtr &threshold)
  Set the threshold level.
 
- Public Member Functions inherited from log4cxx::Appender
virtual  ~Appender ()
 
virtual void  addFilter (const spi::FilterPtr newFilter)=0
  Add a filter to the end of the filter list.
 
virtual spi::FilterPtr  getFilter () const =0
  Returns the head Filter.
 
virtual void  clearFilters ()=0
  Clear the list of filters by removing all the filters in it.
 
virtual void  close ()=0
  Release any resources allocated within the appender such as file handles, network connections, etc.
 
virtual void  doAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &pool)=0
  Log in Appender specific way.
 
virtual LogString  getName () const =0
  Get the name of this appender.
 
virtual void  setLayout (const LayoutPtr layout)=0
  Set the Layout for this appender.
 
virtual LayoutPtr  getLayout () const =0
  Returns this appenders layout.
 
virtual void  setName (const LogString &name)=0
  Set the name of this appender.
 
virtual bool  requiresLayout () const =0
  Configurators call this method to determine if the appender requires a layout.
 
- Public Member Functions inherited from log4cxx::spi::OptionHandler
virtual  ~OptionHandler ()
 
virtual void  activateOptions (helpers::Pool &p)=0
  Activate the options that were previously set with calls to option setters.
 
virtual void  setOption (const LogString &option, const LogString &value)=0
  Set option to value.
 
- Public Member Functions inherited from log4cxx::helpers::Object
virtual  ~Object ()
 
virtual const helpers::ClassgetClass () const =0
 
virtual bool  instanceof (const Class &clazz) const =0
 
virtual const void *  cast (const Class &clazz) const =0
 

Protected Member Functions

void  subAppend (const spi::LoggingEventPtr &event, helpers::Pool &p) override
  Actual writing occurs here.
 
 
helpers::WriterPtr  createWriter (LOG4CXX_16_CONST helpers::OutputStreamPtr &os) override
  Returns an OutputStreamWriter when passed an OutputStream.
 
- Protected Member Functions inherited from log4cxx::FileAppender
 
void  setFileInternal (const LogString &file, bool append, bool bufferedIO, size_t bufferSize, helpers::Pool &p)
  Sets and opens the file where the log output will go.
 
void  setFileInternal (const LogString &file)
 
  FileAppender (std::unique_ptr< FileAppenderPriv > priv)
 
- Protected Member Functions inherited from log4cxx::WriterAppender
  WriterAppender (const LayoutPtr &layout, helpers::WriterPtr &writer)
 
  WriterAppender (const LayoutPtr &layout)
 
  WriterAppender (std::unique_ptr< WriterAppenderPriv > priv)
 
virtual bool  checkEntryConditions () const
  This method determines if there is a sense in attempting to append.
 
void  closeWriter ()
  Close the underlying log4cxx::helpers::Writer .
 
virtual helpers::WriterPtr  createWriter (LOG4CXX_16_CONST helpers::OutputStreamPtr &os)
  Returns an OutputStreamWriter when passed an OutputStream.
 
virtual void  subAppend (const spi::LoggingEventPtr &event, helpers::Pool &p)
  Actual writing occurs here.
 
virtual void  writeFooter (helpers::Pool &p)
  Write a footer as produced by the embedded layout's Layout::appendFooter method.
 
virtual void  writeHeader (helpers::Pool &p)
  Write a header as produced by the embedded layout's Layout::appendHeader method.
 
void  setWriterInternal (const helpers::WriterPtr &writer)
  Set the writer.
 
- Protected Member Functions inherited from log4cxx::AppenderSkeleton
  AppenderSkeleton (LOG4CXX_PRIVATE_PTR(AppenderSkeletonPrivate) priv)
 
virtual void  append (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p)=0
  Subclasses of AppenderSkeleton should implement this method to perform actual logging.
 
 

Additional Inherited Members

- Static Public Member Functions inherited from log4cxx::FileAppender
  Replaces double backslashes with single backslashes for compatibility with paths from earlier XML configurations files.
 

Detailed Description

RollingFileAppender extends log4cxx::FileAppender to backup the log files depending on RollingPolicy and TriggeringPolicy .

To be of any use, a RollingFileAppender instance must have both a RollingPolicy and a TriggeringPolicy set up. However, if its RollingPolicy also implements the TriggeringPolicy interface, then only the former needs to be set up. For example, TimeBasedRollingPolicy acts both as a RollingPolicy and a TriggeringPolicy .

RollingFileAppender can be configured programattically or using log4cxx::xml::DOMConfigurator . The following is a sample configuration file.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration>
 <log4j:configuration debug="true">
 <appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
 <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
 <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/>
 </rollingPolicy>
 <layout class="org.apache.log4j.PatternLayout">
 <param name="ConversionPattern" value="%c{1} - %m%n"/>
 </layout>
 </appender>
 <root>
 <appender-ref ref="ROLL"/>
 </root>
</log4j:configuration>

This configuration file specifies a monthly rollover schedule including automatic compression of the archived files. See TimeBasedRollingPolicy for more details.

Note: Do not set the option Append to false. Rolling over files is only relevant when you are appending.

Constructor & Destructor Documentation

◆  RollingFileAppender() [1/2]

log4cxx::rolling::RollingFileAppender::RollingFileAppender ( )

◆  RollingFileAppender() [2/2]

log4cxx::rolling::RollingFileAppender::RollingFileAppender ( std::unique_ptr< RollingFileAppenderPriv >  priv )

Member Function Documentation

◆  activateOptions()

void log4cxx::rolling::RollingFileAppender::activateOptions ( helpers::Poolpool )
overridevirtual

Activate the options that were previously set with calls to option setters.

See also
FileAppender::activateOptions()

Reimplemented from log4cxx::FileAppender.

◆  close()

void log4cxx::rolling::RollingFileAppender::close ( )
overridevirtual

Close appender.

Waits for any asynchronous file compression actions to be completed.

Implements log4cxx::Appender.

◆  createWriter()

helpers::WriterPtr log4cxx::rolling::RollingFileAppender::createWriter ( LOG4CXX_16_CONST helpers::OutputStreamPtr &  os )
overrideprotectedvirtual

Returns an OutputStreamWriter when passed an OutputStream.

The encoding used will depend on the value of the encoding property. If the encoding value is specified incorrectly the writer will be opened using the default system encoding (an error message will be printed to the loglog.

Parameters
os output stream, may not be null.
Returns
new writer.

Reimplemented from log4cxx::WriterAppender.

◆  getFileLength()

size_t log4cxx::rolling::RollingFileAppender::getFileLength ( ) const

Get byte length of current active log file.

Returns
byte length of current active log file.

◆  getMaxBackupIndex()

int log4cxx::rolling::RollingFileAppender::getMaxBackupIndex ( ) const

Returns the value of the MaxBackupIndex option.

◆  getMaximumFileSize()

size_t log4cxx::rolling::RollingFileAppender::getMaximumFileSize ( ) const

Get the maximum size that the output file is allowed to reach before being rolled over to backup files.

◆  getRollingPolicy()

RollingPolicyPtr log4cxx::rolling::RollingFileAppender::getRollingPolicy ( ) const

The policy that implements the scheme for rolling over a log file.

◆  getTriggeringPolicy()

TriggeringPolicyPtr log4cxx::rolling::RollingFileAppender::getTriggeringPolicy ( ) const

The policy that determine when to trigger a log file rollover.

◆  incrementFileLength()

void log4cxx::rolling::RollingFileAppender::incrementFileLength ( size_t  increment )

Increments estimated byte length of current active log file.

Parameters
increment additional bytes written to log file.

◆  makeFileNamePattern()

LogString log4cxx::rolling::RollingFileAppender::makeFileNamePattern ( const LogStringdatePattern )

◆  rollover()

bool log4cxx::rolling::RollingFileAppender::rollover ( log4cxx::helpers::Poolp )

Implements the configured roll over behaviour.

If MaxBackupIndex is positive, then files {File.1, ..., File.MaxBackupIndex -1} are renamed to {File.2, ..., File.MaxBackupIndex}. Moreover, File is renamed File.1 and closed. A new File is created to receive further log output.

If MaxBackupIndex is equal to zero, then the File is truncated with no backup files created.

◆  rolloverInternal()

bool log4cxx::rolling::RollingFileAppender::rolloverInternal ( log4cxx::helpers::Poolp )
protected

◆  setDatePattern()

void log4cxx::rolling::RollingFileAppender::setDatePattern ( const LogStringpattern )

The DatePattern takes a string in the same format as expected by SimpleDateFormat .

This options determines the rollover schedule.

◆  setMaxBackupIndex()

void log4cxx::rolling::RollingFileAppender::setMaxBackupIndex ( int  maxBackupIndex )

Set the maximum number of backup files to keep around.

The MaxBackupIndex option determines how many backup files are kept before the oldest is erased. This option takes a positive integer value. If set to zero, then there will be no backup files and the log file will be truncated when it reaches MaxFileSize.

◆  setMaxFileSize()

void log4cxx::rolling::RollingFileAppender::setMaxFileSize ( const LogStringvalue )

Set the maximum size that the output file is allowed to reach before being rolled over to backup files.

In configuration files, the MaxFileSize option takes an long integer in the range 0 - 2^63. You can specify the value with the suffixes "KB", "MB" or "GB" so that the integer is interpreted being expressed respectively in kilobytes, megabytes or gigabytes. For example, the value "10KB" will be interpreted as 10240.

◆  setMaximumFileSize()

void log4cxx::rolling::RollingFileAppender::setMaximumFileSize ( size_t  value )

◆  setOption()

void log4cxx::rolling::RollingFileAppender::setOption ( const LogStringoption,
const LogStringvalue 
)
overridevirtual

Set option to value.

Supported options Supported values Default value
FileDatePattern (1) -
MaxBackupIndex 1-12 0
MaxFileSize (2) 10 MB

(1) A pattern compatible with java.text.SimpleDateFormat, "ABSOLUTE", "DATE" or "ISO8601". For example, "HH:mm:ss,SSS", "dd MMM yyyy HH:mm:ss,SSS" or "DATE".

(2) An integer in the range 0 - 2^63. You can specify the value with the suffixes "KB", "MB" or "GB" so that the integer is interpreted being expressed respectively in kilobytes, megabytes or gigabytes. For example, the value "10KB" will be interpreted as 10240.

See also
FileAppender::setOption()

Reimplemented from log4cxx::FileAppender.

◆  setRollingPolicy()

void log4cxx::rolling::RollingFileAppender::setRollingPolicy ( const RollingPolicyPtr &  policy )

Use policy as the scheme for rolling over log files.

Where the policy also implements TriggeringPolicy , then policy will be used to determine when to trigger a log file rollover.

◆  setTriggeringPolicy()

void log4cxx::rolling::RollingFileAppender::setTriggeringPolicy ( const TriggeringPolicyPtr &  policy )

Use policy to determine when to trigger a log file rollover.

◆  subAppend()

void log4cxx::rolling::RollingFileAppender::subAppend ( const spi::LoggingEventPtrevent,
helpers::Poolp 
)
overrideprotectedvirtual

Actual writing occurs here.

Reimplemented from log4cxx::WriterAppender.


The documentation for this class was generated from the following file:

AltStyle によって変換されたページ (->オリジナル) /