Kevin, First, thanks for your help.
> -----Original Message----- > From: Kevin Steppe [mailto:[EMAIL PROTECTED]] > Sent: 28 February 2002 20:02 > To: Log4J Users List > Subject: Re: [The plot continues] org/apache/log4j/Logger > NoClassDefFoundError withversion 1.1.3 > > Ok, I'll wade in on this one a bit: > > A) Have you tried the Cactus mailing list? This seems intimately tied to > Cactus. <huge grin/> I am the creator of Cactus (I would answer to myself on the list if I knew the answer, though ;-) ). What I am debugging is Cactus itself ! That said, you are right, it is linked to Cactus :-) > B) Note that if Cactus can not load the PropertyConfigurator class it will > pretend to be fine, but in fact do nothing (this seems like very very > dangerous > behvior in logging to me -- "Hey I can't actually do any logging; instead > I'll > ignore it and not tell you!" I don't agree. This logging is purely internal to Cactus and has nothing to do with application logging. And I wanted to make it transparent for the user. That said, I am changing this behaviour. The new one will be : no cactus logging unless you tell it so. > So my interpretation of your trials: > 2/ As you said, log4j.jar not found, Cactus does nothing. Yes, I know, that's why I removed my log4j.jar ! To prove that no other log4 classes were in the classpath anywhere ! (Please reread my email slowly). > 3/ As you said, log4j.jar found and Cactus bombs out mysteriously yep, that's what I'd like to know ... :-) > 4/ Here I think Cactus is not finding log4j.jar and so it continues. > Are > you getting a log file, statements, etc from this case? If not case 4 is > the > same as case 2. Yep, it is the same as case 2. Except it proves that Cactus is not using the Logger anywhere in its code (as the log4j.jar is version 1.1.3 and we know from case 2/ that no other log4j classes are present in any other classloaders). > > Some suggestions: > A) try Cactus mailing list see above > B) Find any other log4j.jar on the system and remove it. Try running > everything > (including WL) except your Cactus app and see if something fails. Perhaps > there > is an unrelated log4j instance used by a different app that's fouling up > the VM > somehow. I'd like that but it seems that no, there is no other log4j anywhere else. See above. BTW if I remove Cactus, I have nothing left ... (Cactus is the application I am testing using itself). > C) recompile (again) Cactus using log4j 1.1.3, rebuild your ear, shutdown > and > restart WL, etc etc done that thousands of time. > D) Send me the full stack trace when it bombs. > will do. Thanks -Vincent > Vincent Massol wrote: > > > Following the thread "org/apache/log4j/Logger NoClassDefFoundError with > > version 1.1.3" here are my findings (and more questions) : > > > > 1/ I am using Log4j in a WAR application (inside an EAR) in WL 6.1 SP2 > > 2/ I tested the following structure : > > > > myear.ear > > |_ mywar.war > > |_ WEB-INF/lib > > |_ cactus.jar > > |_ WEB-INF/classes > > |_ classes called by cactus.jar > > > > This worked fine (there was no log4j.jar and cactus does not try to log > > if log4j is not in the classpath). > > > > 3/ Then I had the following structure (which is the structure I was > > having problem with) : > > > > myear.ear > > |_ META-INF > > |_ manifest.mf (contains a CLASS-PATH: log4j.jar) > > |_ log4j.jar (VERSION 1.1.3 !!) > > |_ mywar.war > > |_ WEB-INF/lib > > |_ cactus.jar > > |_ WEB-INF/classes > > |_ classes called by cactus.jar > > > > This failed with the error "org/apache/log4j/Logger" > > NoClassDefFoundError. This means that : > > a/ cactus was able to "see" log4j.jar from its classloader > > b/ the only log4j.jar file it could see was the one under myear.ear and > > thus in version 1.1.3 ! > > > > 4/ Then I tested with the following structure : > > > > myear.ear > > |_ mywar.war > > |_ WEB-INF/lib > > |_ cactus.jar > > |_ log4j.jar (VERSION 1.1.3 !!) > > |_ WEB-INF/classes > > |_ classes called by cactus.jar > > > > This worked fine ! This proves that Cactus is NOT using the Logger > > class. > > > > Question : Where does the "org/apache/log4j/Logger" NoClassDefFoundError > > comes from ? > > > > Note: It cannot come from a log4j.jar that would be in the system > > classpath because in step 2/ the cactus.jar would have "seen" log4j.jar > > (the webapp CL is a child of the system CL). > > > > What am I doing wrong ? :-) > > > > Thanks > > -Vincent > > > > -- > > To unsubscribe, e-mail: <mailto:log4j-user- > [EMAIL PROTECTED]> > > For additional commands, e-mail: <mailto:log4j-user- > [EMAIL PROTECTED]> > > > -- > To unsubscribe, e-mail: <mailto:log4j-user- > [EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:log4j-user- > [EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>