public class

FileAppender

extends WriterAppender
java.lang.Object
   ↳ org.apache.log4j.AppenderSkeleton
     ↳ org.apache.log4j.WriterAppender
       ↳ org.apache.log4j.FileAppender
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

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.

Summary

Fields
protected int bufferSize Determines the size of IO buffer be.
protected boolean bufferedIO Do we do bufferedIO?
protected boolean fileAppend Controls file truncatation.
protected String fileName The name of the log file.
[Expand]
Inherited Fields
From class org.apache.log4j.WriterAppender
From class org.apache.log4j.AppenderSkeleton
Public Constructors
FileAppender()
The default constructor does not do anything.
FileAppender(Layout layout, String filename, boolean append, boolean bufferedIO, int bufferSize)
Instantiate a FileAppender and open the file designated by filename.
FileAppender(Layout layout, String filename, boolean append)
Instantiate a FileAppender and open the file designated by filename.
FileAppender(Layout layout, String filename)
Instantiate a FileAppender and open the file designated by filename.
Public Methods
void activateOptions()
If the value of File is not null, then setFile(String) is called with the values of File and Append properties.
boolean getAppend()
Returns the value of the Append option.
int getBufferSize()
Get the size of the IO buffer.
boolean getBufferedIO()
Get the value of the BufferedIO option.
String getFile()
Returns the value of the File option.
void setAppend(boolean flag)
The Append option takes a boolean value.
void setBufferSize(int bufferSize)
Set the size of the IO buffer.
void setBufferedIO(boolean bufferedIO)
The BufferedIO option takes a boolean value.
void setFile(String file)
The File property takes a string value which should be the name of the file to append to.
synchronized void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize)

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

Protected Methods
void closeFile()
Closes the previously opened file.
void reset()
Close any previously opened file and call the parent's reset.
void setQWForFiles(Writer writer)
Sets the quiet writer being used.
[Expand]
Inherited Methods
From class org.apache.log4j.WriterAppender
From class org.apache.log4j.AppenderSkeleton
From class java.lang.Object
From interface org.apache.log4j.Appender
From interface org.apache.log4j.spi.OptionHandler

Fields

protected int bufferSize

Determines the size of IO buffer be. Default is 8K.

protected boolean bufferedIO

Do we do bufferedIO?

protected boolean fileAppend

Controls file truncatation. 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.

protected String fileName

The name of the log file.

Public Constructors

public FileAppender ()

The default constructor does not do anything.

public FileAppender (Layout layout, String filename, boolean append, boolean 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.

Throws
IOException

public FileAppender (Layout layout, String filename, boolean 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.

Throws
IOException

public FileAppender (Layout layout, String 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.

Throws
IOException

Public Methods

public void activateOptions ()

If the value of File is not null, then setFile(String) is called with the values of File and Append properties.

public boolean getAppend ()

Returns the value of the Append option.

public int getBufferSize ()

Get the size of the IO buffer.

public boolean getBufferedIO ()

Get the value of the BufferedIO option.

BufferedIO will significatnly increase performance on heavily loaded systems.

public String getFile ()

Returns the value of the File option.

public void setAppend (boolean flag)

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.

public void setBufferSize (int bufferSize)

Set the size of the IO buffer.

public void setBufferedIO (boolean bufferedIO)

The BufferedIO option takes a boolean value. It is set to false by default. If true, then File will be opened and the resulting java.io.Writer wrapped around a BufferedWriter. BufferedIO will significatnly increase performance on heavily loaded systems.

public void setFile (String file)

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.

public synchronized void setFile (String fileName, boolean append, boolean bufferedIO, int bufferSize)

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
fileName The path to the log file.
append If true will append to fileName. Otherwise will truncate fileName.
Throws
IOException

Protected Methods

protected void closeFile ()

Closes the previously opened file.

protected void reset ()

Close any previously opened file and call the parent's reset.

protected void setQWForFiles (Writer writer)

Sets the quiet writer being used. This method is overriden by RollingFileAppender.