JDK日志管理组件:java.util.logging,这里只是简单汇总,并介绍个示例详情直接看JDK文档即可:
LogManager,存在一个单一的全局 LogManager 对象,它可用于维护 Logger 和日志服务的一组共享状态。
此 LogManager 对象:
- 管理 Logger 对象的层次结构名称空间。所有指定的 Logger 均存储在此名称空间中。
- 管理一组日志控制属性。这些是供 Handler 及其他日志对象用于自我配置的简单键-值对。
可以使用 LogManager.getLogManager() 获取全局 LogManager 对象。LogManager 对象是在类初始化过程中创建的,过后便不能更改。
Level 类定义了一组可用来控制日志输出的标准日志级别。日志 Level 对象是有序的,并且是通过有序的整数来指定。在给定的级别上启用日志记录也就启用了所有较高级别的日志记录。
Formatter 为格式化 LogRecords 提供支持。
LogRecord 对象用于在日志框架和单个日志 Handler 之间传递日志请求。
Logger 对象用来记录日志消息。
Handler 对象从 Logger 中获取日志信息,并将这些信息导出。例如,它可将这些信息写入控制台或文件中,也可以将这些信息发送到网络日志服务中,或将其转发到操作系统日志中。
Logging.properties配置信息:实例见jre目录下/lib/logging.properties
- 属性 “handlers”。该属性为 handler 类定义类名的空白或逗号分隔列表,以便作为处理程序在根 Logger(该 Logger 名为 ““)中加载和注册。每个类名必须用于具有默认构造方法的 Handler 类。注意,刚开始使用这些 Handler 时,它们可能是以延迟方式创建的。
- 属性 “
.handlers”。该属性为 handler 类定义空白分隔或逗号分隔的列表,以便作为处理程序加载和注册到指定的 logger。每个类名必须用于一个具有默认构造方法的 Handler 类。注意,刚开始使用这些 Handler 时,它们可能是以延迟方式创建的。 - 属性 “
.useParentHandlers”。该属性定义一个 boolean 值。默认情况下,每个 logger 除了自己处理日志消息外,还可能调用其父级来处理,这往往也会导致根 logger 来处理消息。将此属性设置为 false 时,需要为此 logger 配置 Handler,否则不传递任何消息。 - 属性 “config”。此属性允许运行任意配置代码。该属性定义类名的空白或逗号分隔的列表。为每个指定类创建新实例。每个类的默认构造方法都可以执行任意代码来更新日志配置,如设置 logger 级别、添加处理程序、添加过滤器,等等。