【发布时间】:2016-08-12 02:33:26
【问题描述】:
在LogManager的文档中,Handlers属性的设置如下:
属性“处理程序”。这定义了一个空格或逗号分隔 要加载和注册为的处理程序类的类名列表 根 Logger 上的处理程序(名为“”的 Logger)。
属性“.handlers”。这定义了一个空格或逗号 要加载的处理程序类的单独的类名列表和 注册为指定记录器的处理程序。每个类名必须是 对于具有默认构造函数的 Handler 类。请注意,这些 处理程序可能会在第一次使用时延迟创建。
由于根记录器的名称是空字符串 (""),在我看来,下面的两个子句应该是等效的:
handlers = myHandler
.handlers = myHandler
这是 JDK 的 lib/logging.properties 文件中的一个示例:
handlers= java.util.logging.ConsoleHandler
.level= INFO
我注意到当我尝试枚举根记录器上的处理程序时发生了奇怪的事情。我怀疑这与引用这些属性之一的 LogManager 的实现有关。但是,我想尝试了解我的等效假设是否正确。
澄清一下:我对这个问题的目标是了解行为是否应该是相同的。
【问题讨论】: