gpt4 book ai didi

java - 为什么新实例使用旧实例的记录器?

转载 作者:行者123 更新时间:2023-11-30 09:55:47 26 4
gpt4 key购买 nike

我以这种方式生成 2 个实例:

    gameManager manager1 = new CTManager(owner,players1,"en");
manager1.start();
gameManager manager2 = new CTManager(owner,players2,"en");
manager2.start();

gameManager 的 start() 方法如下所示:

void start() {
game.start();
}

当我创建游戏实例时,我创建了一个记录器:log = Logger.getLogger("TestLog");(loggame 所属类的公共(public)字段)。

game.start() 中,我运行了很多进程并为它们提供了对相应 log 的引用。所以,我希望 manager1 和 manager2 将写入不同的文件。但是 manager2 写入它自己的文件和 manager1 的日志文件。为什么会发生?

最佳答案

您两次都使用了相同的日志名称“TestLog”,因此您两次都获得了相同的 Logger 实例。这就是该类(class)的工作方式。参见 here ,如果您使用的是内置的 java.util.logging.Logger 类。其他日志记录包可能具有类似的行为。

关于java - 为什么新实例使用旧实例的记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com