我在 Eclipse 中有一个小型的单类 Java 项目,它不使用任何形式的日志记录。我在同一个工作区中打开了另一个使用 SLF4J 的项目。当我运行我的程序时,它输出到 STDOUT 并从 STDIN 获取扫描仪输入,但在程序成功完成后,我将其打印到 STDERR:SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.如果 SLF4J 未包含在我的项目中(它也不是 maven 依赖项),为什么会显示此错误?
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
您对使用 slf4j 日志记录 api 的类路径有依赖项或传递依赖项。Slf4j 的设置方式是,在加载时,它希望您也提供一个实现。
在最简单的设置中,您可以添加 slf4j-simple 作为项目的依赖项,以提供预期的实现。它将所有消息记录到控制台。如果您选择不添加实现,那么您将看不到该库中的任何日志。
如果这是个人项目,除非您需要调试问题,否则它可能并不重要。
如果这是一个现有的生产项目,您可以根据情况做一些事情。
您可以使用 logback-classic 开始使用 slf4j 进行日志记录
如果您已经在使用不同的记录器,例如 log4j,您可以添加一个 jar,将 slf4j 日志记录路由到您现有的记录器(有关记录器的特定详细信息,请参阅 slf4j手册)
添加回答
举报
0/150
提交
取消