JUL Logger 对象父子关系
跳到导航
跳到搜索
https://www.bilibili.com/video/BV1iJ411H74S?p=7
// Logger 对象父子关系
@Test
public void testLogParent() {
Logger logger1 = Logger.getLogger("io.github.jihch");
Logger logger2 = Logger.getLogger("io.github");
// 测试
System.out.println(logger1.getParent() == logger2);
// 所有日志记录器的顶级父元素 LogManager$RootLogger,name ""
System.out.printf("logger2.getParent():%s, logger2.getParent().getName():%s\n", logger2.getParent(),
logger2.getParent().getName());
// 关闭默认配置
logger2.setUseParentHandlers(false);
// 创建 ConsolHandler 控制台输出
ConsoleHandler consoleHandler = new ConsoleHandler();
// 创建简单格式
SimpleFormatter simpleFormatter = new SimpleFormatter();
// 进行关联
consoleHandler.setFormatter(simpleFormatter);
logger2.addHandler(consoleHandler);
// 配置日志具体级别
logger2.setLevel(Level.ALL);
consoleHandler.setLevel(Level.ALL);
logger1.severe("severe");
logger1.warning("warning");
logger1.info("info");
logger1.config("config");
logger1.fine("fine");
logger1.finer("finer");
logger1.finest("finest");
}
子包默认继承父包;
不写默认继承 RootLogger
RootLogger 有默认的 Handler 和 Formatter