Apache log4cxx  Version 0.10.0
FileAppender Class Reference

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

Inheritance diagram for FileAppender:
WriterAppender AppenderSkeleton Appender ObjectImpl OptionHandler Object Object RollingFileAppenderSkeleton DailyRollingFileAppender RollingFileAppender RollingFileAppender

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::ErrorHandlerPtrgetErrorHandler () const
 Return the currently set spi::ErrorHandler for this Appender. More...
 
spi::FilterPtr getFilter () const
 Returns the head Filter. More...
 
const spi::FilterPtrgetFirstFilter () 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 LevelPtrgetThreshold ()
 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::ClassgetClass () 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::ClassgetStaticClass ()
 
static const log4cxx::helpers::ClassRegistrationregisterClass ()
 

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

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.

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

Member Function Documentation

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.

bool getAppend ( ) const
inline

Returns the value of the Append option.

bool getBufferedIO ( ) const
inline

Get the value of the BufferedIO option.

BufferedIO will significatnly increase performance on heavily loaded systems.

int getBufferSize ( ) const
inline

Get the size of the IO buffer.

LogString getFile ( ) const
inline

Returns the value of the File option.

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.

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.

void setBufferSize ( int  bufferSize1)
inline

Set the size of the IO buffer.

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.

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

static LogString 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

Member Data Documentation

bool bufferedIO
protected

Do we do bufferedIO?

int bufferSize
protected

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

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.

LogString fileName
protected

The name of the log file.


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