org.apache.log4j
Class FileAppender

java.lang.Object
  extended by org.apache.log4j.AppenderSkeleton
      extended by org.apache.log4j.WriterAppender
          extended by org.apache.log4j.FileAppender
All Implemented Interfaces:
Appender, OptionHandler
Direct Known Subclasses:
DailyRollingFileAppender, RollingFileAppender

public class FileAppender
extends WriterAppender

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.

Author:
Ceki Gülcü

Field Summary
protected  boolean bufferedIO
          Do we do bufferedIO?
protected  int bufferSize
          Determines the size of IO buffer be.
protected  boolean fileAppend
          Controls file truncatation.
protected  String fileName
          The name of the log file.
 
Fields inherited from class org.apache.log4j.WriterAppender
encoding, immediateFlush, qw
 
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold
 
Constructor Summary
FileAppender()
          The default constructor does not do anything.
FileAppender(Layout layout, String filename)
          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, boolean append, boolean bufferedIO, int bufferSize)
          Instantiate a FileAppender and open the file designated by filename.
 
Method Summary
 void activateOptions()
          If the value of File is not null, then setFile(java.lang.String) is called with the values of File and Append properties.
protected  void closeFile()
          Closes the previously opened file.
 boolean getAppend()
          Returns the value of the Append option.
 boolean getBufferedIO()
          Get the value of the BufferedIO option.
 int getBufferSize()
          Get the size of the IO buffer.
 String getFile()
          Returns the value of the File option.
protected  void reset()
          Close any previously opened file and call the parent's reset.
 void setAppend(boolean flag)
          The Append option takes a boolean value.
 void setBufferedIO(boolean bufferedIO)
          The BufferedIO option takes a boolean value.
 void setBufferSize(int bufferSize)
          Set the size of the IO buffer.
 void setFile(String file)
          The File property takes a string value which should be the name of the file to append to.
 void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize)
          Sets and opens the file where the log output will go.
protected  void setQWForFiles(Writer writer)
          Sets the quiet writer being used.
 
Methods inherited from class org.apache.log4j.WriterAppender
append, checkEntryConditions, close, closeWriter, createWriter, getEncoding, getImmediateFlush, requiresLayout, setEncoding, setErrorHandler, setImmediateFlush, setWriter, shouldFlush, subAppend, writeFooter, writeHeader
 
Methods inherited from class org.apache.log4j.AppenderSkeleton
addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setLayout, setName, setThreshold
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fileAppend

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.


fileName

protected String fileName
The name of the log file.


bufferedIO

protected boolean bufferedIO
Do we do bufferedIO?


bufferSize

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

Constructor Detail

FileAppender

public FileAppender()
The default constructor does not do anything.


FileAppender

public FileAppender(Layout layout,
                    String filename,
                    boolean append,
                    boolean bufferedIO,
                    int bufferSize)
             throws IOException
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

FileAppender

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

FileAppender

public FileAppender(Layout layout,
                    String filename)
             throws IOException
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
Method Detail

setFile

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.


getAppend

public boolean getAppend()
Returns the value of the Append option.


getFile

public String getFile()
Returns the value of the File option.


activateOptions

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

Specified by:
activateOptions in interface OptionHandler
Overrides:
activateOptions in class WriterAppender
Since:
0.8.1

closeFile

protected void closeFile()
Closes the previously opened file.


getBufferedIO

public boolean getBufferedIO()
Get the value of the BufferedIO option.

BufferedIO will significatnly increase performance on heavily loaded systems.


getBufferSize

public int getBufferSize()
Get the size of the IO buffer.


setAppend

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.


setBufferedIO

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 Writer wrapped around a BufferedWriter. BufferedIO will significatnly increase performance on heavily loaded systems.


setBufferSize

public void setBufferSize(int bufferSize)
Set the size of the IO buffer.


setFile

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

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

setQWForFiles

protected void setQWForFiles(Writer writer)
Sets the quiet writer being used. This method is overriden by RollingFileAppender.


reset

protected void reset()
Close any previously opened file and call the parent's reset.

Overrides:
reset in class WriterAppender


Copyright © 1999-2010 Apache Software Foundation. All Rights Reserved.