为什么这个方法是 JDBC API 的一部分?
为什么用户需要 JDBC 所有记录器的父记录器?如果 JDBC 有自己的日志记录系统,我不明白为什么用户应该有父记录器。出于什么目的?
有必要执行吗?
谢谢你。
该方法作为 JSR 221 维护版本 1 在 JDBC 4.1 / Java 7 中添加。添加的具体理由未包含在列出更改的文档中:JDBC Maintenance Release 4.1
总体理性说:
“目标是解决几个规范问题并为 中引入的自动资源管理提供支持 Java SE 7 以及 JDBC EG 和用户社区请求的一些小改进。”
...所以我的猜测是这是所要求的小改进之一。据推测,他们认为他们需要这种增强。
为什么这个方法是 JDBC API 的一部分?
因为有人要求。
为什么用户需要 JDBC 所有记录器的父记录器?
想必他们确实这么做了……否则他们就不会提出这样的要求。此外,他们的理由必须足够强大才能说服 JSR 负责人,即使我们不知道它们是什么。
如果 JDBC 有自己的日志系统,
实际上并非如此。
java.util.logging.Logger
类由 Java SE 提供。并且 JDBC 驱动程序不必使用 JUL 日志记录...或任何日志记录。
...我不明白为什么用户应该拥有父记录器。出于什么目的?
可能...这样用户就可以在不知道驱动程序记录器层次结构的详细信息的情况下调整 JDBC 日志记录级别;例如记录器名称。
有必要实施吗?
不。
Driver.getParentLogger
是可选操作。如果驱动程序不使用 JUL 日志记录,则可以抛出 SQLFeatureNotSupportedException
。