When I run the following simple log4J example, i get an error:
import org.apache.logging.log4j.core.*;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class log4jExample{
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(
log4jExample.class.getName());
public static void main(String[] args)
throws IOException,SQLException{
log.debug("Hello this is an debug message");
log.info("Hello this is an info message");
}
}
and the error reads:
Error: package org.apache.logging.log4j.core does not exist
Error: cannot find symbol
symbol: class Logger
location: class log4jExample
File: C:\Users\adel\Desktop\various_topics\JavaProjects\log4jExample.java [line: 10]
Error: cannot find symbol
symbol: variable Logger
location: class log4jExample
So I believe I added log4J to the classpath correctly, as shown below:
And I extracted the jar
file log4j-core-2.0-beta4.jar
from the apache directory as so:
I'm not sure what's happening - how does the import statement work? i.e the example online tells me to say:
import org.apache.log4j.Logger;
but what if my directory structure is like this:
\apache-log4j-2.0-beta4-bin\org\apache\logging\log4j\core\Logger.java
Would I have to say:
import org.apache.logging.log4j.core.Logger;
instead?