Apache Log4cxx  Version 1.2.0
Loading...
Searching...
No Matches
log4cxx::rolling::MultiprocessRollingFileAppender Class Reference

A special version of the RollingFileAppender that acts properly with multiple processes. More...

#include <multiprocessrollingfileappender.h>

Inheritance diagram for log4cxx::rolling::MultiprocessRollingFileAppender:
log4cxx::FileAppender log4cxx::WriterAppender log4cxx::AppenderSkeleton log4cxx::Appender log4cxx::helpers::Object log4cxx::spi::OptionHandler log4cxx::helpers::Object

Public Member Functions

 MultiprocessRollingFileAppender ()
 
void activateOptions (helpers::Pool &) override
 Activate the options that were previously set with calls to option setters.
 
bool rollover (helpers::Pool &p)
 Implements the usual roll over behaviour.
 
RollingPolicyPtr getRollingPolicy () const
 
TriggeringPolicyPtr getTriggeringPolicy () const
 
void setRollingPolicy (const RollingPolicyPtr &policy)
 Sets the rolling policy.
 
void setTriggeringPolicy (const TriggeringPolicyPtr &policy)
 
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::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.
 
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)
 

Friends

class CountingOutputStream
 

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.
 

Detailed Description

A special version of the RollingFileAppender that acts properly with multiple processes.

Constructor & Destructor Documentation

◆ MultiprocessRollingFileAppender()

log4cxx::rolling::MultiprocessRollingFileAppender::MultiprocessRollingFileAppender ( )

Member Function Documentation

◆ activateOptions()

void log4cxx::rolling::MultiprocessRollingFileAppender::activateOptions ( helpers::Pool )
overridevirtual

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

Activate the attached TriggeringPolicy and RollingPolicy.

See also
FileAppender::activateOptions()

Reimplemented from log4cxx::FileAppender.

◆ close()

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

Close appender.

Waits for any asynchronous file compression actions to be completed.

Implements log4cxx::Appender.

◆ createWriter()

helpers::WriterPtr log4cxx::rolling::MultiprocessRollingFileAppender::createWriter ( 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
osoutput stream, may not be null.
Returns
new writer.

Reimplemented from log4cxx::WriterAppender.

◆ getFileLength()

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

Get byte length of current active log file.

Returns
byte length of current active log file.

◆ getRollingPolicy()

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

◆ getTriggeringPolicy()

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

◆ incrementFileLength()

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

Increments estimated byte length of current active log file.

Parameters
incrementadditional bytes written to log file.

◆ rollover()

bool log4cxx::rolling::MultiprocessRollingFileAppender::rollover ( helpers::Pool p)

Implements the usual 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::MultiprocessRollingFileAppender::rolloverInternal ( log4cxx::helpers::Pool p)
protected

◆ setRollingPolicy()

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

Sets the rolling policy.

In case the 'policy' argument also implements TriggeringPolicy, then the triggering policy for this appender is automatically set to be the policy argument.

Parameters
policy

◆ setTriggeringPolicy()

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

◆ subAppend()

void log4cxx::rolling::MultiprocessRollingFileAppender::subAppend ( const spi::LoggingEventPtr event,
helpers::Pool p 
)
overrideprotectedvirtual

Actual writing occurs here.

Reimplemented from log4cxx::WriterAppender.

Friends And Related Function Documentation

◆ CountingOutputStream

friend class CountingOutputStream
friend

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