在LogManager的getLogger()方法的描述中是这样写的:
"(...)如果没有对 Logger 的强引用,与 String 名称关联的 Logger 可能随时被垃圾收集。此方法的调用者必须检查返回值是否为 null,以便正确处理记录器已被垃圾收集。”
GC 怎么可能擦除 Logger,因为 LogManager 必须保留对所有 Logger 的所有引用才能解析 Logger 的名称?
这不是有点奇怪吗,Java API 允许在我的应用程序开始时创建和设置我的 Loggers 但忘记保留引用,然后如果我使用 Logger.getLogger('someName') 我会获取我设置的新的、默认的一个记录器?