title: Why does the Log4J environment variable need both core and api JAR's?
body: <p>When installing Log4J, we need to have two variables in the system classpath :</p>
  
  <pre><code>log4j-api
  log4j-core
  </code></pre>
  
  <p>The log4j-api variable looks like this :</p>
  
  <p><strong>log4j-api</strong> : <code>C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log4j-api-2.0-beta5.jar</code></p>
  
  <p>And the <code>log4j-core</code> variable looks like this :</p>
  
  <p>log4j-core: <code>C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log4j-core-2.0-beta5.jar</code></p>
  
  <p>Both of these env. variables go into the overlapping <code>LOG4J_HOME</code> variable :</p>
  
  <p><strong>LOG4J_HOME -</strong> <code>%log4j-api%;%log4j-core%</code></p>
  
  <p>Why does it need both the api and core libraries(JAR files) though? When I import a class, I say :</p>
  
  <pre><code>import org.apache.logging.log4j.Logger;
  </code></pre>
  
  <p>So which of the above JAR's get searched for here? Is it core or api ? any tips appreciated, thanks </p>