Mary,

Gary was referring to log4j-2.0. While generally more awesome (ahem), it does 
need those 2 jars to run. 

You seem to be using log4j-1.2. 
Then you should only need the one jar. 
You also need a log4j.properties or log4j.xml file in a directory that is in 
the classpath. The site should have some sample config files. 

In your code, I don't think you need to call BasicConfigurator.configure();
I think you can safely remove that line; log4j will pick up your config file 
from the classpath. 

Sent from my iPhone

On 2013/05/14, at 10:30, Mary Laude <[email protected]> wrote:

> Hey -  thanks for the quick reply!  Ya know, I read that bit
> but the jar file I have is named log4j-1.2-17.jar, and I thought
> it comprised everything.  When I downloaded the code, that's
> the only jar file there was.  Clearly, I was delusional!  I'll go
> look for the corresponding API and core jar files...
> Thanks again!
> 
> 
> 
> On Mon, May 13, 2013 at 6:00 PM, Gary Gregory <[email protected]>wrote:
> 
>> You need the API and core jar files on your classpath for compilation
>> and runtime.
>> 
>> Gary
>> 
>> On May 13, 2013, at 20:46, Mary Laude <[email protected]> wrote:
>> 
>>> Hello -
>>> 
>>> I can write, compile, and successfully run a Java program
>>> to look at a .jar file and list the classes defined therein, but
>>> I can't for the life of me get your "Using log4j" java code shown
>>> in 1-2.17's INSTALL doc to work.
>>> 
>>> Perhaps there's some other magic that needs to happen to get
>>> this code snippet you wrote to yield output?
>> ----------------------------------------------------------------------------------------
>>> You can now test your installation by first compiling the following
>>>  simple program.
>>> 
>>>   import org.apache.log4j.Logger;
>>>   import org.apache.log4j.BasicConfigurator;
>>> 
>>>   public class Hello {
>>> 
>>>     private static final Logger logger = Logger.getLogger(Hello.class);
>>> 
>>>     public
>>>     static
>>>     void main(String argv[]) {
>>>       BasicConfigurator.configure();
>>>       logger.debug("Hello world.");
>>>       logger.info("What a beatiful day.");
>>>     }
>>>   }
>> -----------------------------------------------------------------------------------------
>>> I understand how CLASSPATH works, etc.  I can get it to compile but
>>> even if I again (with option -cp) specify exactly where the .class file
>> is
>>> that it just created from the compile, it still can't find what it needs.
>>> 
>>> Depending on where I've put things and what I tell it, I get one of these
>>> failing results when I try to run the executable:
>>> 
>>> (1)
>>> java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>>>       at Hello.<clinit>(Hello.java:6)
>>> Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
>>>       at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>       at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>       at java.security.AccessController.doPrivileged(Native Method)
>>>       at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>       at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>>>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>       at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>>>       ... 1 more
>>> Exception in thread "main"
>>> 
>>> or (2)
>>> Error: Could not find or load main class Hello
>>> 
>>> 
>>> Please, I am an old UNIX geek but this is really really frustrating me.
>>> I have looked literally EVERYWHERE to find out what the problem is
>>> but of course I am apparently the first and only person to ever have this
>>> problem.  Ha!
>>> 
>>> 
>>> --
>>> Please test what you build.
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
> 
> 
> -- 
> Please test what you build.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to