Most visited

Recently visited

Added in API level 1

FileHandler

public class FileHandler
extends StreamHandler

java.lang.Object
   ↳ java.util.logging.Handler
     ↳ java.util.logging.StreamHandler
       ↳ java.util.logging.FileHandler


简单的文件记录 Handler

FileHandler可以写入指定的文件,也可以写入一组旋转的文件。

对于一组旋转的文件,当每个文件达到给定的大小限制时,它将被关闭,旋出,并打开一个新文件。 通过将“0”,“1”,“2”等添加到基本文件名中,相继更旧的文件被命名。

默认情况下,IO库中启用了缓冲,但每个日志记录完成后都会刷新。

默认情况下, XMLFormatter类用于格式化。

配置:默认情况下,每个FileHandler都使用以下LogManager配置属性进行初始化。 如果属性未定义(或者具有无效值),则使用指定的默认值。

模式由一个字符串组成,该字符串包含以下将在运行时替换的特殊组件:

If no "%g" field has been specified and the file count is greater than one, then the generation number will be added to the end of the generated filename, after a dot.

因此,例如,计数为2的“%t / java%g.log”模式通常会导致日志文件在Solaris上写入/var/tmp/java0.log和/var/tmp/java1.log,而在Windows 95上,它们通常会写入C:\ TEMP \ java0.log和C:\ TEMP \ java1.log

世代数字遵循序列0,1,2等。

通常情况下,“%u”唯一字段设置为0.但是,如果FileHandler试图打开文件名并发现该文件当前正在被另一个进程使用,它将递增唯一编号字段并再次尝试。 这将重复,直到FileHandler找到一个当前未使用的文件名。 如果发生冲突并且没有指定“%u”字段,它将在文件名的末尾添加一个点。 (这将在任何自动添加的世代号后面。)

因此,如果三个进程都尝试登录到fred%u。%g.txt,那么他们最终可能会使用fred0.0.txt,fred1.0.txt,fred2.0.txt作为其旋转序列中的第一个文件。

请注意,只有在使用本地磁盘文件系统时,才能保证使用唯一标识符来避免冲突。

Summary

Public constructors

FileHandler()

构建一个默认的 FileHandler

FileHandler(String pattern)

初始化一个 FileHandler以写入给定的文件名。

FileHandler(String pattern, boolean append)

初始化 FileHandler以写入给定的文件名,并带有可选的追加。

FileHandler(String pattern, int limit, int count)

初始化一个 FileHandler以写入一组文件。

FileHandler(String pattern, int limit, int count, boolean append)

初始化一个 FileHandler以写入一组带有可选append的文件。

Public methods

void close()

关闭所有文件。

void publish(LogRecord record)

格式并发布 LogRecord

Inherited methods

From class java.util.logging.StreamHandler
From class java.util.logging.Handler
From class java.lang.Object

Public constructors

FileHandler

Added in API level 1
FileHandler ()

构建一个默认的FileHandler 这将完全由LogManager属性(或其默认值)进行配置。

Throws
IOException if there are IO problems opening the files.
SecurityException if a security manager exists and if the caller does not have LoggingPermission("control")).
NullPointerException if pattern property is an empty String.

FileHandler

Added in API level 1
FileHandler (String pattern)

初始化一个 FileHandler以写入给定的文件名。

FileHandler基于 LogManager属性(或其默认值)进行配置,但将给定模式参数用作文件名模式,文件限制设置为无限制,并将文件计数设置为1。

可写入的数据量没有限制,因此请谨慎使用。

Parameters
pattern String: the name of the output file
Throws
IOException if there are IO problems opening the files.
SecurityException if a security manager exists and if the caller does not have LoggingPermission("control").
IllegalArgumentException if pattern is an empty string

FileHandler

Added in API level 1
FileHandler (String pattern, 
                boolean append)

初始化 FileHandler以写入给定的文件名,并带有可选的追加。

FileHandler是基于 LogManager属性(或其默认值)配置的,除了给定的模式参数用作文件名模式,文件限制设置为无限制,文件计数设置为1,并且设置了追加模式到给定的 append参数。

可写入的数据量没有限制,因此请谨慎使用。

Parameters
pattern String: the name of the output file
append boolean: specifies append mode
Throws
IOException if there are IO problems opening the files.
SecurityException if a security manager exists and if the caller does not have LoggingPermission("control").
IllegalArgumentException if pattern is an empty string

FileHandler

Added in API level 1
FileHandler (String pattern, 
                int limit, 
                int count)

初始化FileHandler以写入一组文件。 当(近似)将给定限制写入一个文件时,将打开另一个文件。 输出将循环通过一组计数文件。

FileHandler是基于 LogManager属性(或其默认值)配置的,除了将给定的模式参数用作文件名模式,将文件限制设置为limit参数,并将文件计数设置为给定的count参数。

计数必须至少为1。

Parameters
pattern String: the pattern for naming the output file
limit int: the maximum number of bytes to write to any one file
count int: the number of files to use
Throws
IOException if there are IO problems opening the files.
SecurityException if a security manager exists and if the caller does not have LoggingPermission("control").
IllegalArgumentException if limit < 0, or count < 1.
IllegalArgumentException if pattern is an empty string

FileHandler

Added in API level 1
FileHandler (String pattern, 
                int limit, 
                int count, 
                boolean append)

初始化一个FileHandler以写入一组带有可选append的文件。 当(近似)将给定限制写入一个文件时,将打开另一个文件。 输出将循环通过一组计数文件。

FileHandler是基于 LogManager属性(或其默认值)配置的,除了将给定的模式参数用作文件名模式,将文件限制设置为limit参数,并将文件计数设置为给定的count参数以及追加模式设置为给定的 append参数。

计数必须至少为1。

Parameters
pattern String: the pattern for naming the output file
limit int: the maximum number of bytes to write to any one file
count int: the number of files to use
append boolean: specifies append mode
Throws
IOException if there are IO problems opening the files.
SecurityException if a security manager exists and if the caller does not have LoggingPermission("control").
IllegalArgumentException if limit < 0, or count < 1.
IllegalArgumentException if pattern is an empty string

Public methods

close

Added in API level 1
void close ()

关闭所有文件。

Throws
SecurityException if a security manager exists and if the caller does not have LoggingPermission("control").

publish

Added in API level 1
void publish (LogRecord record)

格式和发布 LogRecord

Parameters
record LogRecord: description of the log event. A null record is silently ignored and is not published

Hooray!