Apache Log4cxx
Version 1.3.0
|
RollingFileAppender
extends log4cxx::FileAppender
to backup the log files depending on RollingPolicy
and TriggeringPolicy
.
More...
#include <rollingfileappender.h>
Public Member Functions | |
RollingFileAppender () | |
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. | |
bool | rollover (log4cxx::helpers::Pool &p) |
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 | |
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 . | |
~FileAppender () | |
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. | |
void | setAppend (bool fileAppend1) |
The Append option takes a boolean value. | |
void | setBufferedIO (bool bufferedIO) |
The BufferedIO option takes a boolean value. | |
void | setBufferSize (int bufferSize1) |
Set the size of the IO buffer. | |
Public Member Functions inherited from log4cxx::WriterAppender | |
WriterAppender () | |
This default constructor does nothing. | |
~WriterAppender () | |
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. | |
LogString | getEncoding () const |
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 log4cxx::helpers::WriterPtr &writer) |
const log4cxx::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 () | |
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. | |
const spi::ErrorHandlerPtr | getErrorHandler () const |
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. | |
void | setErrorHandler (const spi::ErrorHandlerPtr eh) |
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::Class & | getClass () 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. | |
bool | rolloverInternal (log4cxx::helpers::Pool &p) |
helpers::WriterPtr | createWriter (helpers::OutputStreamPtr &os) override |
Returns an OutputStreamWriter when passed an OutputStream. | |
Protected Member Functions inherited from log4cxx::FileAppender | |
void | activateOptionsInternal (log4cxx::helpers::Pool &p) |
void | setFileInternal (const LogString &file, bool append, bool bufferedIO, size_t bufferSize, log4cxx::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, log4cxx::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 (helpers::OutputStreamPtr &os) |
Returns an OutputStreamWriter when passed an OutputStream. | |
virtual void | subAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p) |
Actual writing occurs here. | |
virtual void | writeFooter (log4cxx::helpers::Pool &p) |
Write a footer as produced by the embedded layout's Layout::appendFooter method. | |
virtual void | writeHeader (log4cxx::helpers::Pool &p) |
Write a header as produced by the embedded layout's Layout::appendHeader method. | |
void | setWriterInternal (const log4cxx::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. | |
void | doAppendImpl (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &pool) |
Additional Inherited Members | |
Static Public Member Functions inherited from log4cxx::FileAppender | |
static LogString | stripDuplicateBackslashes (const LogString &name) |
Replaces double backslashes with single backslashes for compatibility with paths from earlier XML configurations files. | |
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
. Here is a sample configration 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.
log4cxx::rolling::RollingFileAppender::RollingFileAppender | ( | ) |
|
overridevirtual |
Activate the options that were previously set with calls to option setters.
Reimplemented from log4cxx::FileAppender.
|
overridevirtual |
Close appender.
Waits for any asynchronous file compression actions to be completed.
Implements log4cxx::Appender.
|
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.
os | output stream, may not be null. |
Reimplemented from log4cxx::WriterAppender.
size_t log4cxx::rolling::RollingFileAppender::getFileLength | ( | ) | const |
Get byte length of current active log file.
int log4cxx::rolling::RollingFileAppender::getMaxBackupIndex | ( | ) | const |
Returns the value of the MaxBackupIndex option.
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.
RollingPolicyPtr log4cxx::rolling::RollingFileAppender::getRollingPolicy | ( | ) | const |
The policy that implements the scheme for rolling over a log file.
TriggeringPolicyPtr log4cxx::rolling::RollingFileAppender::getTriggeringPolicy | ( | ) | const |
The policy that determine when to trigger a log file rollover.
void log4cxx::rolling::RollingFileAppender::incrementFileLength | ( | size_t | increment | ) |
Increments estimated byte length of current active log file.
increment | additional bytes written to log file. |
LogString log4cxx::rolling::RollingFileAppender::makeFileNamePattern | ( | const LogString & | datePattern | ) |
bool log4cxx::rolling::RollingFileAppender::rollover | ( | log4cxx::helpers::Pool & | p | ) |
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.
|
protected |
void log4cxx::rolling::RollingFileAppender::setDatePattern | ( | const LogString & | pattern | ) |
The DatePattern takes a string in the same format as expected by SimpleDateFormat
.
This options determines the rollover schedule.
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
.
void log4cxx::rolling::RollingFileAppender::setMaxFileSize | ( | const LogString & | value | ) |
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.
void log4cxx::rolling::RollingFileAppender::setMaximumFileSize | ( | size_t | value | ) |
|
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.
Reimplemented from log4cxx::FileAppender.
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.
void log4cxx::rolling::RollingFileAppender::setTriggeringPolicy | ( | const TriggeringPolicyPtr & | policy | ) |
Use policy
to determine when to trigger a log file rollover.
|
overrideprotectedvirtual |
Actual writing occurs here.
Reimplemented from log4cxx::WriterAppender.