Module java.logging
Package java.util.logging
package java.util.logging
提供了Java 2平台核心日志记录功能的类和接口。日志记录API的中心目标是支持在客户现场维护和服务软件。
日志记录的四个主要目标用途如下:
- 由最终用户和系统管理员进行问题诊断。这包括简单记录可以在本地修复或跟踪的常见问题,例如资源耗尽、安全失败和简单配置错误。
- 由现场服务工程师进行问题诊断。现场服务工程师使用的日志信息可能比系统管理员所需的信息复杂和冗长得多。通常,这样的信息将需要在特定子系统内进行额外的日志记录。
- 由开发组织进行问题诊断。当在现场发生问题时,可能需要将捕获的日志信息返回给原始开发团队进行诊断。这些日志信息可能非常详细且相当晦涩。这样的信息可能包括有关特定子系统内部执行的详细跟踪。
- 由开发人员进行问题诊断。日志记录API也可用于帮助调试正在开发中的应用程序。这可能包括目标应用程序生成的日志信息以及低级别库生成的日志信息。但请注意,虽然这种用法是完全合理的,但日志记录API并不旨在取代开发环境中可能已经存在的正常调试和性能分析工具。
此包的关键元素包括:
- Logger:应用程序进行日志记录调用的主要实体。Logger对象用于为特定系统或应用程序组件记录消息。
- LogRecord:用于在日志框架和单个日志处理程序之间传递日志记录请求。
- Handler:将LogRecord对象导出到各种目的地,包括内存、输出流、控制台、文件和套接字。为此存在各种Handler子类。第三方可以开发额外的Handler,并在核心平台之上交付这些Handler。
- Level:定义了一组可用于控制日志输出的标准日志级别。程序可以配置为输出某些级别的日志,同时忽略其他级别的输出。
- Filter:提供对记录的精细控制,超出了日志级别提供的控制。日志记录API支持通用的过滤器机制,允许应用程序代码附加任意过滤器以控制日志输出。
- Formatter:提供对LogRecord对象进行格式化的支持。此包包括两个格式化程序,SimpleFormatter和XMLFormatter,用于分别以纯文本或XML格式格式化日志记录。与Handler一样,第三方可以开发额外的Formatter。
日志记录API提供静态和动态配置控制。静态控制使现场服务人员能够设置特定配置,然后使用新的日志设置重新启动应用程序。动态控制允许在当前运行的程序中更新日志配置。API还允许为系统的不同功能区域启用或禁用日志记录。例如,现场服务工程师可能对跟踪所有AWT事件感兴趣,但可能对套接字事件或内存管理不感兴趣。
空指针
一般情况下,除非在javadoc中另有说明,否则如果传递了空参数,则方法和构造函数将抛出NullPointerException。这个规则的一个广泛例外是Logger类中的日志记录便利方法(config、entering、exiting、fine、finer、finest、log、logp、logrb、severe、throwing和warning方法)将接受除初始Level参数(如果有)之外的所有参数的空值。
相关文档
有关控制流的概述,请参阅Java日志概述
- 自版本:
- 1.4
-
ClassDescription这个
Handler
将日志记录发布到System.err
。可以将ErrorManager对象附加到Handler上,以处理在日志记录期间Handler上发生的任何错误。简单文件日志Handler
。可以使用Filter提供对记录的精细控制,超出了日志级别提供的控制。Formatter提供对LogRecords进行格式化的支持。Handler
对象接收Logger
的日志消息并导出它们。Level类定义了一组可用于控制日志输出的标准日志级别。Logger对象用于为特定系统或应用程序组件记录消息。Deprecated.当运行带有SecurityManager的代码调用日志控制方法(如Logger.setLevel)时,SecurityManager将检查的权限。有一个单一的全局LogManager对象,用于维护关于Loggers和日志服务的一组共享状态。LogRecord对象用于在日志框架和单个日志处理程序之间传递日志记录请求。在内存中的循环缓冲区中缓冲请求的Handler
。以人类可读格式打印LogRecord
的简要摘要。简单网络日志Handler
。基于流的日志Handler
。将LogRecord格式化为标准XML格式。
LoggingMXBean
is no longer aplatform MXBean
and is replaced withPlatformLoggingMXBean
.