gpt4 book ai didi

logging - LoggerFactory 与 Logger

转载 作者:行者123 更新时间:2023-12-04 15:19:52 25 4
gpt4 key购买 nike

我有一个问题我还没有找到答案。那么这两条线有什么区别呢?

private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);



private static final Logger LOGGER = Logger.getLogger(MyClass.class);

应该使用哪一个,为什么?谢谢。

最佳答案

您已使用 标记了问题和 ,所以我假设您的项目设置为使用 SLF4J 并且它使用它的 log4j 绑定(bind)。

如果您在类里面使用 SLF4J 绑定(bind)(顶部有 import org.slf4j.Logger;),那么您需要使用 LoggerFactory.getLogger (你还需要 import org.slf4j.LoggerFactory; )。

如果您直接使用 log4j(在类(class)顶部有 import org.apache.log4j.Logger;),请使用 Logger.getLogger .

通常,拥有 SLF4J 的目的是成为您用于所有日志记录命令的标准,并让它担心连接到实际的日志记录框架。因此,如果您的项目使用 SLF4J,请使用 SLF4J 绑定(bind)。或者,如果你只是想直接使用 log4j,那么你可以直接使用它,也许你甚至不需要使用 SLF4J 库。 (我自己是 SLF4J 的忠实粉丝,所以我建议将它用于一切,但这只是我的意见。)

我猜也许你的开发环境会自动选择其中一个来导入,你甚至可能有不同的Logger s 在不同的类中导入,您甚至没有意识到它们使用的不是同一个类。

关于logging - LoggerFactory 与 Logger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37744857/

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