我设置(记录器类构造函数)日志记录如下 -
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;
即使我将level设置为FINEST并将setUseParentHandlers设置为false,为什么我无法在INFO下面记录任何内容?
编辑 - 根据评论 - 在我修改全局logging.properties文件并将级别设置为ALL之后,它工作正常。所以我认为我的问题是为什么setUseParentHandlers无效?
答案 0 :(得分:2)
所以我认为我的问题是为什么setUseParentHandlers无效?
没有证据表明setUseParentHandlers
无效。
相反,似乎正在发生的事情是您的Logger是使用默认级别INFO
创建的。尝试通过调用Logger.setLevel(FINEST)
手动设置。
答案 1 :(得分:1)
如勘误表中所述,setUseParentHandlers
指定是否以递归方式向日志树中发送数据。除非您明确地不希望日志消息传播到父日志消息的记录器,否则该命令不应该影响它们在单个调用的上下文中的行为方式。