我设置了一个基本的Java程序。我遵循这个tutorial,并有这个确切的代码:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HelloWorld {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
logger.info("Hello World");
}
}
我的构建路径上有两个jar:slf4j-api-1.7.5.jar和slf4j-log4j12-1.5.5 jar。我不明白它给出了什么,getLogger方法存在于LoggerFactory类中,我可以使用F3(源代码查找)进行查找。我在谷歌上搜索了这一点,似乎是唯一一个了解这个问题的人。有什么想法吗?
以下是我的Eclipse.classpath:
<xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdit..../>
<classpathentry kind="lib" path="/home/Desktop/slf4j-api-1.7.5.jar" sourcepath="/home/Desktop/slf4j-api-1.7.5.jar"/>
<classpathentry kind="lib" path="slf4j-log4j12-1.7.5.jar"/>
<classpathentry kind="lib" path="log4j-1.2.17.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
5条答案
按热度按时间ssgvzors1#
在链接到的教程页面上,有以下注解:
slf4j-log4j12-1.7.6.jar
log4j版本1.2的绑定,这是一个广泛使用的日志框架。您还需要放置log4j。jar在类路径上。
您是否包括log4j.jar?
deyfvvtc2#
我的问题在包含
slf4j-api-1.7.7.jar和****
在类路径上。
pqwbnv8z3#
对我来说,当我在下面添加Maven依赖时,它起作用了:
yeotifhr4#
您始终可以静态使用记录器,而不是使用loggerfactory,并在每次需要时创建一个示例:
根据这个SO答案,使用这两种方法的开销似乎都不大:
What's the overhead of creating a SLF4J loggers in static vs. non-static contexts?
pb3s4cty5#
我用
而不是