Logging 未生成SLFJ日志
我是slf4j的新手,在我的项目中我使用它来获取日志 我正在使用intelijide 这是我的密码Logging 未生成SLFJ日志,logging,logback,slf4j,Logging,Logback,Slf4j,我是slf4j的新手,在我的项目中我使用它来获取日志 我正在使用intelijide 这是我的密码 package com.sample; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestMainclass { static Logger logger = LoggerFactory.getLogger(TestMainclass.class); public s
package com.sample;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestMainclass
{
static Logger logger = LoggerFactory.getLogger(TestMainclass.class);
public static void main(String[] args) {
System.out.println("before");
logger.debug("hello");
logger.info("hello");
System.out.println("after");
}
}
这是依赖关系
testCompile group: 'org.slf4j', name: 'slf4j-jdk14', version: '1.7.30'
正常设置下一切正常,但当我构建代码并使用junit-platform-console-standalone-1.5.2.jar运行该jar时,出现以下错误:
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是一个日志API。它需要一个实现。有几种选择;log4j2、Logback、log4j1.x(不推荐)或javautil日志记录(不推荐)。我个人的偏好是log4j 2,在这种情况下,您需要3个jar-log4j-slf4j-impl、log4j api和log4j core。这些都将使用一组org.apache.logging.log4j,最新版本是2.13.2。SLF4J是一个日志API。它需要一个实现。有几种选择;log4j2、Logback、log4j1.x(不推荐)或javautil日志记录(不推荐)。我个人的偏好是log4j 2,在这种情况下,您需要3个jar-log4j-slf4j-impl、log4j api和log4j core。这些都将使用一组org.apache.logging.log4j,最新版本是2.13.2。SLF4J项目的想法是为Java世界中存在的许多日志框架创建一个通用API 因此,这只是为您提供了要调用的方法接口,以便您的代码可以编译和运行,而不是slf4j可以将工作委托给的日志框架。这通常是通过在运行时将slf4j和所选的日志框架jar都放在classspath上,并(如果需要)一个连接这两者的桥来实现的。这在slf4j文档中有详细描述 您选择了slf4j-jdk14,它使用Java运行时内置的日志框架,但显然当junit运行时,它不在类路径上,从而导致了错误
我建议您在看到错误时查看类路径,看看有哪些slf4j JAR。slf4j项目的想法是为Java世界中存在的许多日志框架创建一个通用API 因此,这只是为您提供了要调用的方法接口,以便您的代码可以编译和运行,而不是slf4j可以将工作委托给的日志框架。这通常是通过在运行时将slf4j和所选的日志框架jar都放在classspath上,并(如果需要)一个连接这两者的桥来实现的。这在slf4j文档中有详细描述 您选择了slf4j-jdk14,它使用Java运行时内置的日志框架,但显然当junit运行时,它不在类路径上,从而导致了错误 我建议您在看到错误时查看类路径,看看有哪些slf4j JAR