Build 1.0_r1(from source)

java.util.logging
Class FileHandler

java.lang.Object
  extended by java.util.logging.Handler
      extended by java.util.logging.StreamHandler
          extended by java.util.logging.FileHandler

public class FileHandler
extends StreamHandler

A Handler writes description of logging event into a specified file or a rotating set of files.

If a set of files are used, when a given amount of data has been written to one file, this file is closed, and another file is opened. The name of these files are generated by given name pattern, see below for details.

By default the IO buffering mechanism is enabled, but when each log record is complete, it is flushed out.

XMLFormatter is default formatter for FileHandler.

MemoryHandler will read following LogManager properties for initialization, if given properties are not defined or has invalid values, default value will be used.

Name pattern is a string that may includes some special sub-strings, which will be replaced to generate output files:

Normally, the generation numbers are not larger than given file count and follow the sequence 0, 1, 2.... If the file count is larger than one, but the generation field("%g") has not been specified in the pattern, then the generation number after a dot will be added to the end of the file name,

The "%u" unique field is used to avoid conflicts and set to 0 at first. If one FileHandler tries to open the filename which is currently in use by another process, it will repeatedly increment the unique number field and try again. If the "%u" component has not been included in the file name pattern and some contention on a file does occur then a unique numerical value will be added to the end of the filename in question immediately to the right of a dot. The unique IDs for avoiding conflicts is only guaranteed to work reliably when using a local disk file system.


Nested Class Summary
(package private) static class FileHandler.MeasureOutputStream
          This output stream use decorator pattern to add measure feature to OutputStream which can detect the total size(in bytes) of output, the initial size can be set
 
Field Summary
(package private)  String fileName
           
(package private)  FileLock lock
           
(package private)  int uniqueID
           
 
Constructor Summary
FileHandler()
          Construct a FileHandler using LogManager properties or their default value
FileHandler(String pattern)
          Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to zero(no limit), and the file count is set to one, other configuration using LogManager properties or their default value This handler write to only one file and no amount limit.
FileHandler(String pattern, boolean append)
          Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to zero(i.e.
FileHandler(String pattern, int limit, int count)
          Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to given limit argument, and the file count is set to given count argument, other configuration using LogManager properties or their default value This handler is configured to write to a rotating set of count files, when the limit of bytes has been written to one output file, another file will be opened instead.
FileHandler(String pattern, int limit, int count, boolean append)
          Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to given limit argument, the file count is set to given count argument, and the append mode is set to given append argument, other configuration using LogManager properties or their default value This handler is configured to write to a rotating set of count files, when the limit of bytes has been written to one output file, another file will be opened instead.
 
Method Summary
 void close()
          Flush and close all opened files.
(package private)  void findNextGeneration()
           
 void publish(LogRecord record)
          Publish a LogRecord
 
Methods inherited from class java.util.logging.StreamHandler
close, flush, internalSetOutputStream, isLoggable, setEncoding, setOutputStream
 
Methods inherited from class java.util.logging.Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, initProperties, internalSetEncoding, internalSetFormatter, printInvalidPropMessage, reportError, setErrorManager, setFilter, setFormatter, setLevel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lock

FileLock lock

fileName

String fileName

uniqueID

int uniqueID
Constructor Detail

FileHandler

public FileHandler()
            throws IOException
Construct a FileHandler using LogManager properties or their default value

Throws:
IOException - if any IO exception happened
SecurityException - if security manager exists and it determines that caller does not have the required permissions to control this handler, required permissions include LogPermission("control") and other permission like FilePermission("write"), etc.

FileHandler

public FileHandler(String pattern)
            throws IOException
Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to zero(no limit), and the file count is set to one, other configuration using LogManager properties or their default value This handler write to only one file and no amount limit.

Parameters:
pattern - the name pattern of output file
Throws:
IOException - if any IO exception happened
SecurityException - if security manager exists and it determines that caller does not have the required permissions to control this handler, required permissions include LogPermission("control") and other permission like FilePermission("write"), etc.
NullPointerException - if the pattern is null.
IllegalArgumentException - if the pattern is empty.

FileHandler

public FileHandler(String pattern,
                   boolean append)
            throws IOException
Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to zero(i.e. no limit applies), the file count is initialized to one, and the value of append becomes the new instance's append mode. Other configuration is done using LogManager properties. This handler write to only one file and no amount limit.

Parameters:
pattern - the name pattern of output file
append - the append mode
Throws:
IOException - if any IO exception happened
SecurityException - if security manager exists and it determines that caller does not have the required permissions to control this handler, required permissions include LogPermission("control") and other permission like FilePermission("write"), etc.
NullPointerException - if the pattern is null.
IllegalArgumentException - if the pattern is empty.

FileHandler

public FileHandler(String pattern,
                   int limit,
                   int count)
            throws IOException
Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to given limit argument, and the file count is set to given count argument, other configuration using LogManager properties or their default value This handler is configured to write to a rotating set of count files, when the limit of bytes has been written to one output file, another file will be opened instead.

Parameters:
pattern - the name pattern of output file
limit - the data amount limit in bytes of one output file, cannot less than one
count - the maximum number of files can be used, cannot less than one
Throws:
IOException - if any IO exception happened
SecurityException - if security manager exists and it determines that caller does not have the required permissions to control this handler, required permissions include LogPermission("control") and other permission like FilePermission("write"), etc.
NullPointerException - if pattern is null.
IllegalArgumentException - if count<1, or=""><>

FileHandler

public FileHandler(String pattern,
                   int limit,
                   int count,
                   boolean append)
            throws IOException
Construct a FileHandler, the given name pattern is used as output filename, the file limit is set to given limit argument, the file count is set to given count argument, and the append mode is set to given append argument, other configuration using LogManager properties or their default value This handler is configured to write to a rotating set of count files, when the limit of bytes has been written to one output file, another file will be opened instead.

Parameters:
pattern - the name pattern of output file
limit - the data amount limit in bytes of one output file, cannot less than one
count - the maximum number of files can be used, cannot less than one
append - the append mode
Throws:
IOException - if any IO exception happened
SecurityException - if security manager exists and it determines that caller does not have the required permissions to control this handler, required permissions include LogPermission("control") and other permission like FilePermission("write"), etc.
NullPointerException - if pattern is null.
IllegalArgumentException - if count<1, or=""><>
Method Detail

findNextGeneration

void findNextGeneration()

close

public void close()
Flush and close all opened files.

Overrides:
close in class StreamHandler
Throws:
SecurityException - if security manager exists and it determines that caller does not have the required permissions to control this handler, required permissions include LogPermission("control") and other permission like FilePermission("write"), etc.

publish

public void publish(LogRecord record)
Publish a LogRecord

Overrides:
publish in class StreamHandler
Parameters:
record - the log record to be published

Build 1.0_r1(from source)

Please submit a feedback, bug or feature