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

FileAppender appends log events to a file. More...

#include <fileappender.h>

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

Public Member Functions

 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
 

Static Public Member Functions

static LogString stripDuplicateBackslashes (const LogString &name)
 Replaces double backslashes with single backslashes for compatibility with paths from earlier XML configurations files.
 

Protected Member Functions

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)
 

Detailed Description

FileAppender appends log events to a file.

Support for java.io.Writer and console appending has been deprecated and then removed. See the replacement solutions: WriterAppender and ConsoleAppender.

Constructor & Destructor Documentation

◆ FileAppender() [1/5]

log4cxx::FileAppender::FileAppender ( )

The default constructor does not do anything.

◆ FileAppender() [2/5]

log4cxx::FileAppender::FileAppender ( const LayoutPtr layout,
const LogString filename,
bool  append,
bool  bufferedIO,
int  bufferSize 
)

Instantiate a FileAppender and open the file designated by filename.

The opened filename will become the output destination for this appender.

If the append parameter is true, the file will be appended to. Otherwise, the file designated by filename will be truncated before being opened.

If the bufferedIO parameter is true, then buffered IO will be used to write to the output file.

◆ FileAppender() [3/5]

log4cxx::FileAppender::FileAppender ( const LayoutPtr layout,
const LogString filename,
bool  append 
)

Instantiate a FileAppender and open the file designated by filename.

The opened filename will become the output destination for this appender.

If the append parameter is true, the file will be appended to. Otherwise, the file designated by filename will be truncated before being opened.

◆ FileAppender() [4/5]

log4cxx::FileAppender::FileAppender ( const LayoutPtr layout,
const LogString filename 
)

Instantiate a FileAppender and open the file designated by filename.

The opened filename will become the output destination for this appender.

The file will be appended to.

◆ ~FileAppender()

log4cxx::FileAppender::~FileAppender ( )

◆ FileAppender() [5/5]

log4cxx::FileAppender::FileAppender ( std::unique_ptr< FileAppenderPriv >  priv)
protected

Member Function Documentation

◆ activateOptions()

void log4cxx::FileAppender::activateOptions ( helpers::Pool p)
overridevirtual

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

Sets and opens the file where the log output will go. The specified file must be writable.

If there was already an opened file, then the previous file is closed first.

Reimplemented from log4cxx::AppenderSkeleton.

Reimplemented in log4cxx::rolling::MultiprocessRollingFileAppender, and log4cxx::rolling::RollingFileAppender.

◆ activateOptionsInternal()

void log4cxx::FileAppender::activateOptionsInternal ( log4cxx::helpers::Pool p)
protected

◆ getAppend()

bool log4cxx::FileAppender::getAppend ( ) const

Returns the value of the Append option.

◆ getBufferedIO()

bool log4cxx::FileAppender::getBufferedIO ( ) const

Get the value of the BufferedIO option.

BufferedIO will significatnly increase performance on heavily loaded systems.

◆ getBufferSize()

int log4cxx::FileAppender::getBufferSize ( ) const

Get the size of the IO buffer.

◆ getFile()

LogString log4cxx::FileAppender::getFile ( ) const

Returns the value of the File option.

◆ setAppend()

void log4cxx::FileAppender::setAppend ( bool  fileAppend1)

The Append option takes a boolean value.

It is set to true by default. If true, then File will be opened in append mode by setFile (see above). Otherwise, setFile will open File in truncate mode.

Note: Actual opening of the file is made when activateOptions is called, not when the options are set.

◆ setBufferedIO()

void log4cxx::FileAppender::setBufferedIO ( bool  bufferedIO)

The BufferedIO option takes a boolean value.

It is set to false by default. If true, then File will be opened in buffered mode.

BufferedIO will significantly increase performance on heavily loaded systems.

◆ setBufferSize()

void log4cxx::FileAppender::setBufferSize ( int  bufferSize1)

Set the size of the IO buffer.

◆ setFile()

virtual void log4cxx::FileAppender::setFile ( const LogString file)
virtual

The File property takes a string value which should be the name of the file to append to.

Note that the special values "System.out" or "System.err" are no longer honored.

Note: Actual opening of the file is made when activateOptions is called, not when the options are set.

◆ setFileInternal() [1/2]

void log4cxx::FileAppender::setFileInternal ( const LogString file)
protected

◆ setFileInternal() [2/2]

void log4cxx::FileAppender::setFileInternal ( const LogString file,
bool  append,
bool  bufferedIO,
size_t  bufferSize,
log4cxx::helpers::Pool p 
)
protected

Sets and opens the file where the log output will go.

The specified file must be writable.

If there was already an opened file, then the previous file is closed first.

Do not use this method directly. To configure a FileAppender or one of its subclasses, set its properties one by one and then call activateOptions.

The mutex must be locked before calling this function.

Parameters
fileThe path to the log file.
appendIf true will append to fileName. Otherwise will truncate fileName.
bufferedIODo we do bufferedIO?
bufferSizeHow big should the IO buffer be?
pmemory pool for operation.

◆ setOption()

void log4cxx::FileAppender::setOption ( const LogString option,
const LogString value 
)
overridevirtual

Set option to value.

Supported options Supported values Default value
FileName {any} -
Append True,False True
BufferedIO True,False False
ImmediateFlush True,False False
BufferSize (1) 8 KB

(1) 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
AppenderSkeleton::setOption()

Reimplemented from log4cxx::AppenderSkeleton.

Reimplemented in log4cxx::rolling::RollingFileAppender.

◆ stripDuplicateBackslashes()

static LogString log4cxx::FileAppender::stripDuplicateBackslashes ( const LogString name)
static

Replaces double backslashes with single backslashes for compatibility with paths from earlier XML configurations files.

Parameters
namefile name
Returns
corrected file name

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