“JUL Logger 对象父子关系”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“1”的新页面) |
Jihongchang(讨论 | 贡献) |
||
第1行: | 第1行: | ||
− | + | https://www.bilibili.com/video/BV1iJ411H74S?p=7<syntaxhighlight lang="java"> | |
+ | // 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"); | ||
+ | } | ||
+ | </syntaxhighlight>子包默认继承父包; | ||
+ | |||
+ | 不写默认继承 RootLogger | ||
+ | |||
+ | RootLogger 有默认的 Handler 和 Formatter |
2023年2月23日 (四) 01:59的最新版本
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