【发布时间】:2012-04-03 02:53:55
【问题描述】:
我已经设置(记录器类构造函数)日志记录如下-
Log() {
loggerObj = Logger.getLogger("");
//Create console handler and set its level and then setup its formatter
handler = new ConsoleHandler();
handler.setLevel(Level.FINEST);
formatter = new LogFormatter();
handler.setFormatter(formatter);
//assign handler to logger objs
loggerObj.setUseParentHandlers(false);
loggerObj.addHandler(handler);
}
Log 类的成员是-
static Logger loggerObj;
ConsoleHandler handler;
LogFormatter formatter;
即使我已将级别设置为 FINEST 并将 setUseParentHandlers 设置为 false,但为什么我无法记录低于 INFO 的任何内容?
编辑-根据评论-在我修改了全局 logging.properties 文件并将级别设置为 ALL 之后,它起作用了。所以我想我的问题是为什么 setUseParentHandlers 不起作用?
【问题讨论】:
-
看看this answer能不能帮你解决。
-
在我修改了全局 logging.properties 文件并将级别设置为 ALL 之后,它工作了。所以我认为我的问题是为什么 setUseParentHandlers 不起作用?
-
Err...
setUseParentHandlers指定是否在树上递归地发送数据。除非您明确不希望将日志消息传播到作为此消息的父级的记录器,否则该命令不应与您的记录器在单个日志级别规范的上下文中的行为方式有任何关系。也许我不明白你在这里问什么? -
该死! setUseParentHandlers 太直观了,我认为它会设置是否使用父处理程序。 @MrGomez 请将此作为答案发布,我会接受
-
@user837208 完成。很高兴为您提供帮助!
标签: java logging java.util.logging