记录器仅记录消息,即它们创建日志记录(或记录请求)。它们不会将消息发布到目的地,这由处理程序负责。设置记录器的级别只会导致它 _创建_与该级别或更高级别匹配的日志记录。
您可能正在使用
ConsoleHandler(我无法推断您的输出是System.err还是文件,但是我认为它是前者),默认情况下,该级别将发布该级别的日志记录
Level.INFO。您将必须配置此处理程序,以发布级别
Level.FINER和更高级别的日志记录,以获得所需的结果。
我建议阅读《Java日志记录概述》指南,以了解基础设计。该指南涵盖了Logger和Handler概念之间的区别。
编辑处理程序级别
1.使用配置文件
所述的java.util.logging属性文件(默认情况下,这是
logging.properties在文件
JRE_HOME/lib)可以被修改,以改变ConsoleHandler的缺省级别:
java.util.logging.ConsoleHandler.level = FINER
2.在运行时创建处理程序
不建议这样做,因为这会导致覆盖全局配置。在您的整个代码库中使用此命令将导致记录器配置可能无法管理。
Handler consoleHandler = new ConsoleHandler();consoleHandler.setLevel(Level.FINER);Logger.getAnonymousLogger().addHandler(consoleHandler);



