FileAppender Class Reference

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

Inheritance diagram for FileAppender:

## Public Member Functions

| FileAppender ()
| The default constructor does not do anything. More...
| FileAppender (const LayoutPtr &layout, const LogString &filename, bool append, bool bufferedIO, int bufferSize)
| Instantiate a `FileAppender` and open the file designated by `filename`. More...
| FileAppender (const LayoutPtr &layout, const LogString &filename, bool append)
| Instantiate a FileAppender and open the file designated by `filename`. More...
| FileAppender (const LayoutPtr &layout, const LogString &filename)
| Instantiate a FileAppender and open the file designated by `filename`. More...
| ~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. More...
virtual void | setFile (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. More...
bool | getAppend () const
| Returns the value of the Append option. More...
LogString | getFile () const
| Returns the value of the File option. More...
void | activateOptions (log4cxx::helpers::Pool &p)
void | setOption (const LogString &option, const LogString &value)
| Set `option` to `value`. More...
bool | getBufferedIO () const
| Get the value of the BufferedIO option. More...
int | getBufferSize () const
| Get the size of the IO buffer. More...
void | setAppend (bool fileAppend1)
| The Append option takes a boolean value. More...
void | setBufferedIO (bool bufferedIO)
| The BufferedIO option takes a boolean value. More...
void | setBufferSize (int bufferSize1)
| Set the size of the IO buffer. More...
Public Member Functions inherited from WriterAppender
| WriterAppender ()
| This default constructor does nothing. More...
| ~WriterAppender ()
void | setImmediateFlush (bool value)
| If the ImmediateFlush option is set to `true`, the appender will flush at the end of each write. More...
bool | getImmediateFlush () const
| Returns value of the ImmediateFlush option. More...
virtual void | append (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p)
| This method is called by the AppenderSkeleton::doAppend method. More...
virtual void | close ()
| Close this appender instance. More...
LogString | getEncoding () const
void | setEncoding (const LogString &value)
void | setOption (const LogString &option, const LogString &value)
| Set `option` to `value`. More...
void | setWriter (const log4cxx::helpers::WriterPtr &writer)
virtual bool | requiresLayout () const
| Configurators call this method to determine if the appender requires a layout. More...
Public Member Functions inherited from AppenderSkeleton
| AppenderSkeleton ()
| AppenderSkeleton (const LayoutPtr &layout)
void | addRef () const
void | releaseRef () const
void | finalize ()
| Finalize this appender by calling the derived class' `close` method. More...
void | addFilter (const spi::FilterPtr &newFilter)
| Add a filter to end of the filter list. More...
void | clearFilters ()
| Clear the filters chain. More...
const spi::ErrorHandlerPtr & | getErrorHandler () const
| Return the currently set spi::ErrorHandler for this Appender. More...
spi::FilterPtr | getFilter () const
| Returns the head Filter. More...
const spi::FilterPtr & | getFirstFilter () const
| Return the first filter in the filter chain for this Appender. More...
LayoutPtr | getLayout () const
| Returns the layout of this appender. More...
LogString | getName () const
| Returns the name of this Appender. More...
const LevelPtr & | getThreshold ()
| Returns this appenders threshold level. More...
bool | isAsSevereAsThreshold (const LevelPtr &level) const
| Check whether the message level is below the appender's threshold. More...
void | doAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &pool)
| This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific AppenderSkeleton::append method. More...
void | setErrorHandler (const spi::ErrorHandlerPtr &eh)
| Set the ErrorHandler for this Appender. More...
void | setLayout (const LayoutPtr &layout1)
| Set the layout for this appender. More...
void | setName (const LogString &name1)
| Set the name of this Appender. More...
void | setThreshold (const LevelPtr &threshold)
| Set the threshold level. More...
Public Member Functions inherited from Appender
virtual | ~Appender ()
Public Member Functions inherited from OptionHandler
virtual | ~OptionHandler ()
Public Member Functions inherited from Object
virtual const helpers::Class & | getClass () const
virtual | ~Object ()
virtual bool | instanceof (const Class &clazz) const =0
virtual const void * | cast (const Class &clazz) const =0
Public Member Functions inherited from ObjectImpl
| ObjectImpl ()
virtual | ~ObjectImpl ()
void | addRef () const
void | releaseRef () const

## 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. More...
Static Public Member Functions inherited from Object
static const helpers::Class & | getStaticClass ()
static const log4cxx::helpers::ClassRegistration & | registerClass ()

## Protected Attributes

bool | fileAppend
| Append to or truncate the file? The default value for this variable is `true`, meaning that by default a `FileAppender` will append to an existing file and not truncate it. More...
LogString | fileName
| The name of the log file. More...
bool | bufferedIO
| Do we do bufferedIO? More...
int | bufferSize
| How big should the IO buffer be? Default is 8K. More...
Protected Attributes inherited from AppenderSkeleton
LayoutPtr | layout
| The layout variable does not need to be set if the appender implementation has its own layout. More...
LogString | name
| Appenders are named. More...
LevelPtr | threshold
| There is no level threshold filtering by default. More...
spi::ErrorHandlerPtr | errorHandler
| It is assumed and enforced that errorHandler is never null. More...
spi::FilterPtr | headFilter
| The first filter in the filter chain. More...
spi::FilterPtr | tailFilter
| The last filter in the filter chain. More...
bool | closed
| Is this appender closed? More...
log4cxx::helpers::Pool | pool
log4cxx::helpers::Mutex | mutex
Protected Attributes inherited from ObjectImpl
unsigned int volatile | ref

## Additional Inherited Members

Protected Member Functions inherited from WriterAppender
| WriterAppender (const LayoutPtr &layout, log4cxx::helpers::WriterPtr &writer)
| WriterAppender (const LayoutPtr &layout)
virtual bool | checkEntryConditions () const
| This method determines if there is a sense in attempting to append. More...
void | closeWriter ()
| Close the underlying log4cxx::helpers::Writer. More...
virtual log4cxx::helpers::WriterPtr | createWriter (log4cxx::helpers::OutputStreamPtr &os)
| Returns an OutputStreamWriter when passed an OutputStream. More...
virtual void | subAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p)
| Actual writing occurs here. More...
virtual void | writeFooter (log4cxx::helpers::Pool &p)
| Write a footer as produced by the embedded layout's Layout::appendFooter method. More...
virtual void | writeHeader (log4cxx::helpers::Pool &p)
| Write a header as produced by the embedded layout's Layout::appendHeader method. More...

## 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/4]

FileAppender | ( |  | ) |

The default constructor does not do anything.

## FileAppender() [2/4]

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/4]

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/4]

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()

~FileAppender | ( |  | ) |

## Member Function Documentation

## activateOptions()

void activateOptions | ( | log4cxx::helpers::Pool & | p | ) |

virtual

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 WriterAppender.

Reimplemented in RollingFileAppender, and RollingFileAppenderSkeleton.

## getAppend()

bool getAppend | ( |  | ) | const

inline

Returns the value of the Append option.

## getBufferedIO()

bool getBufferedIO | ( |  | ) | const

inline

Get the value of the BufferedIO option.

BufferedIO will significatnly increase performance on heavily loaded systems.

## getBufferSize()

int getBufferSize | ( |  | ) | const

inline

Get the size of the IO buffer.

## getFile()

LogString getFile | ( |  | ) | const

inline

Returns the value of the File option.

## setAppend()

void 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 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 setBufferSize | ( | int | bufferSize1 | ) |

inline

Set the size of the IO buffer.

## setFile() [1/2]

virtual void 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.

## setFile() [2/2]

virtual void setFile | ( | const LogString & | file,
|  | bool | append,
|  | bool | bufferedIO,
|  | size_t | bufferSize,
|  | log4cxx::helpers::Pool & | p
| ) |  |

virtual

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.

Parameters

  file | The path to the log file.
  append | If true will append to fileName. Otherwise will truncate fileName.
  bufferedIO | Do we do bufferedIO?
  bufferSize | How big should the IO buffer be?
  p | memory pool for operation.

## setOption()

void setOption | ( | const LogString & | option,
|  | const LogString & | value
| ) |  |

virtual

Set `option` to `value`.

The handling of each option depends on the OptionHandler instance. Some options may become active immediately whereas other may be activated only when activateOptions is called.

Reimplemented from AppenderSkeleton.

Reimplemented in RollingFileAppender.

## stripDuplicateBackslashes()

static LogString stripDuplicateBackslashes | ( | const LogString & | name | ) |

static

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

Parameters

  name | file name

Returns
  corrected file name

## Member Data Documentation

## bufferedIO

bool bufferedIO

protected

Do we do bufferedIO?

## bufferSize

int bufferSize

protected

How big should the IO buffer be? Default is 8K.

## fileAppend

bool fileAppend

protected

Append to or truncate the file? The default value for this variable is `true`, meaning that by default a `FileAppender` will append to an existing file and not truncate it.

This option is meaningful only if the FileAppender opens the file.

## fileName

LogString fileName

protected

The name of the log file.

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

- fileappender.h