猿问

为什么我在不使用它时会收到 SLF4J 错误?

我在 Eclipse 中有一个小型的单类 Java 项目,它不使用任何形式的日志记录。我在同一个工作区中打开了另一个使用 SLF4J 的项目。


当我运行我的程序时,它输出到 STDOUT 并从 STDIN 获取扫描仪输入,但在程序成功完成后,我将其打印到 STDERR:


SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

如果 SLF4J 未包含在我的项目中(它也不是 maven 依赖项),为什么会显示此错误?


慕尼黑5688855
浏览 218回答 1
1回答

吃鸡游戏

您对使用 slf4j 日志记录 api 的类路径有依赖项或传递依赖项。Slf4j 的设置方式是,在加载时,它希望您也提供一个实现。在最简单的设置中,您可以添加 slf4j-simple 作为项目的依赖项,以提供预期的实现。它将所有消息记录到控制台。如果您选择不添加实现,那么您将看不到该库中的任何日志。如果这是个人项目,除非您需要调试问题,否则它可能并不重要。如果这是一个现有的生产项目,您可以根据情况做一些事情。您可以使用 logback-classic 开始使用 slf4j 进行日志记录如果您已经在使用不同的记录器,例如 log4j,您可以添加一个 jar,将 slf4j 日志记录路由到您现有的记录器(有关记录器的特定详细信息,请参阅 slf4j手册)您可以提供自己的日志记录实现(有关执行此操作的详细信息,请参阅 slf4j手册。
随时随地看视频慕课网APP

相关分类

Java
我要回答