LoggerFactor.getLogger cannot be resolved to a type
Solution 1
On the tutorial page you link to, there is the following note:
slf4j-log4j12-1.7.6.jar
Binding for log4j version 1.2, a widely used logging framework. You also need to place log4j.jar on your class path.
Did you include log4j.jar?
Solution 2
My problem was solved after the inclusion of
slf4j-api-1.7.7.jar and slf4j-simple-1.7.7.jar
on classpath.
Solution 3
For me, when I added the Maven dependency below, it worked:
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
Comments
-
smuggledPancakes almost 2 years
I setup a basic Java program, I am following this tutorial and have this exact code:
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"); } }
I have the jars slf4j-api-1.7.5.jar and slf4j-log4j12-1.7.5 jar on my build path. I do not understand what gives, the getLogger method exists in the LoggerFactory class which I can F3 (source code look-up) to. I Googled about this and appear to be the only dope with this problem. Any ideas?
Here is my .classpath for Eclipse:
<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>
-
smuggledPancakes about 10 yearsI added log4j.jar to my build path but there is still no change. I do not have access to the 1.7.6 slf4j jars on my development box. Should that 0.0.1 difference be causing this error? I can see the method call in my jar's source code.
-
sheltem about 10 yearsDoesn't matter which concrete logging framework is to be used in the end, Logger and LoggerFactory are classes that reside in the slf4j-api. A missing binding or logging implementation would lead to a completely different error.
-
smuggledPancakes about 10 yearsI had a spelling error on my path, sorry about this mess