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