You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Jon Friis <jo...@gavia.dk> on 2007/10/25 18:01:22 UTC
Log4j and commons-logging unable to locate each other
Hello
I have a problem with log4j and commons-logging which i really hope anybody
can help me with.
Setup:
Windows 2000, Apache Tomcat 6.0, JRE 1.6.0_02, log4j-1.2.15, commons-logging
annd i am using eclipse 3.3.0
Since i have multiple Web services on the same Tomcat server i have been
putting log4j.jar in WEB-INF/lib and log4j.properties in WEB-INF/classes.
My problem is some kind of class-loading problem where log4j and
commons-logging won't find each other.
2 scenarios:
1) commons-logging.jar and log4j.jar are both put in WEB-INF/lib for my
webapp.
2) commons-logging.jar is put in tomcat 6.0/lib (Common classloader according
to tomcat 6.0 doc) and log4j.jar in WEB-INF/lib.
The stacktraces of both scenarios are given below.
Question is: Why can't they see each other and how can i solve the problem ?
Can it really be so that i have to wrap the log4j class (as describe in the
log4j book) and can someone explain why and will it help ?
Any feed back or solution hints are really appreciated :-)
Thx
Jon Friis
Scenario 1)
--------------------------------------------------
25-10-2007 16:47:24 org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /FAS threw load() exception
java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory
at
org.apache.axis.components.logger.LogFactory.class$(LogFactory.java:45)
at
org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
at
org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
at
org.apache.axis.transport.http.AxisServlet.<clinit>(AxisServlet.java:75)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.axis.transport.http.AxisServletBase.class$(AxisServletBase.java:59)
at
org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4348)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
25-10-2007 16:47:25 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Scenario 2)
--------------------------------------------------
java.lang.NoClassDefFoundError: org/apache/log4j/Category
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.getConstructor(Class.java:1657)
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370)
at
org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37)
at
org.apache.axis.transport.http.AxisServlet.<clinit>(AxisServlet.java:75)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.axis.transport.http.AxisServletBase.class$(AxisServletBase.java:59)
at
org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4348)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
25-10-2007 17:02:14 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
--
Jon Friis
IT-Consultant & Owner
Gavia Technologies ApS
Omøgade 8, 2. sal
2100 Kbh. Ø
M: +45 23820053
E: jon_at_gavia.dk
W: www.gavia.dk
Join my network at
http://www.linkedin.com/in/jonfriis
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org
Re: Log4j and commons-logging unable to locate each other
Posted by Jon Friis <jo...@gavia.dk>.
Thanks Jake
I have commented some of your suggestions below.
Fredag 26 oktober 2007 06:36 skrev Jacob Kjome:
> Jon Friis wrote:
> > Hello
> >
> > I have a problem with log4j and commons-logging which i really hope
> > anybody can help me with.
> >
> > Setup:
> > Windows 2000, Apache Tomcat 6.0, JRE 1.6.0_02, log4j-1.2.15,
> > commons-logging annd i am using eclipse 3.3.0
> >
> > Since i have multiple Web services on the same Tomcat server i have been
> > putting log4j.jar in WEB-INF/lib and log4j.properties in WEB-INF/classes.
>
> Note that this presumes child-first classloading, and that may not be
> the case if you are running it from Eclipse. If you run Tomcat
> Standalone, you will have child-first for sure. If you don't have
> log4j.jar anywhere in a parent classloader, this is less of an issue,
> but it still may not find your log4j.properties file if one exists in a
> parent classloader without using child-first classloading. Even in the
> case where you have child-first, but have log4j.xml in a parent
> classloader, since log4j.xml is used in preference to log4j.properties,
> log4j.xml will get used instead. Sorry to get a little off track. More
> below...
>
> > My problem is some kind of class-loading problem where log4j and
> > commons-logging won't find each other.
> >
> > 2 scenarios:
> >
> > 1) commons-logging.jar and log4j.jar are both put in WEB-INF/lib for my
> > webapp.
>
> If, indeed, parent-first, rather than child-first, classloading is being
> done, then this may not work if commons-logging exists in a parent
> classloader. It will not see log4j.jar in a child classloader.
>
> > 2) commons-logging.jar is put in tomcat 6.0/lib (Common classloader
> > according to tomcat 6.0 doc) and log4j.jar in WEB-INF/lib.
>
> Can you think of a way where commons-logging would be able to find
> log4j.jar in this scenario? Classloaders look up, not down. If you put
> log4j.jar in WEB-INF/lib and have libraries that depend on
> commons-logging, then you must also put commons-logging.jar alongside
> log4j.jar. Of course, you already tried that above. Hmmm....
I think i came to same conclusion my self, but when your desperate you'll try
anything.
>
> > The stacktraces of both scenarios are given below.
> >
> > Question is: Why can't they see each other and how can i solve the
> > problem ?
> >
> > Can it really be so that i have to wrap the log4j class (as describe in
> > the log4j book) and can someone explain why and will it help ?
> >
> > Any feed back or solution hints are really appreciated :-)
>
> Try this. Put log4j.jar and commons-logging.jar (make sure it's not
> commons-logging-api.jar) in Tomcat's "lib" directory. For per-app
> logging, you'll also need either a repository selector (search the list
> for info) or child-first classloading, plus log4j.jar and
> commons-logging.jar in WEB-INF/lib (in addition to having them in
> Tomcat's "lib" directory).
So my conclusion is that when i run tomcat standalone on our test server
everything works perfect as describe in 1)
But in my development environment eclipse is changing the class-loader
strategy or what ? (looks like it forces tomcat to do parent-first
classloading instead of child first). Isn't this a bug in Eclispe ? i dont
feel very happy about my develpoment tomcat isn't working in the same way as
my test & production server. Should this be bugged to eclipse ?
Thanks again Jake for your good suggestions and most of all for explaining to
me why my setup didn't work. Now i understand the problem and have solved the
problem more pragmatic.
Since my test & production server is using child-first classloading i will
stick to this. I my develoment i have the possibility to put all my JAR's in
common lib - and this solves the problem in development. And after deploying
my WAR file on test server i run a script to distributed my JAR dependecies
right on the server.
So now everything works as it should in test & prodcution, and i development
the setup is a bit changed.
Thx
Jon Friis
--
Jon Friis
IT-Consultant & Owner
Gavia Technologies ApS
Omøgade 8, 2. sal
2100 Kbh. Ø
M: +45 23820053
E: jon@gavia.dk
W: www.gavia.dk
Join my network at
http://www.linkedin.com/in/jonfriis
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org
Re: Log4j and commons-logging unable to locate each other
Posted by Jacob Kjome <ho...@visi.com>.
Jon Friis wrote:
> Hello
>
> I have a problem with log4j and commons-logging which i really hope anybody
> can help me with.
>
> Setup:
> Windows 2000, Apache Tomcat 6.0, JRE 1.6.0_02, log4j-1.2.15, commons-logging
> annd i am using eclipse 3.3.0
>
> Since i have multiple Web services on the same Tomcat server i have been
> putting log4j.jar in WEB-INF/lib and log4j.properties in WEB-INF/classes.
>
Note that this presumes child-first classloading, and that may not be
the case if you are running it from Eclipse. If you run Tomcat
Standalone, you will have child-first for sure. If you don't have
log4j.jar anywhere in a parent classloader, this is less of an issue,
but it still may not find your log4j.properties file if one exists in a
parent classloader without using child-first classloading. Even in the
case where you have child-first, but have log4j.xml in a parent
classloader, since log4j.xml is used in preference to log4j.properties,
log4j.xml will get used instead. Sorry to get a little off track. More
below...
> My problem is some kind of class-loading problem where log4j and
> commons-logging won't find each other.
>
> 2 scenarios:
>
> 1) commons-logging.jar and log4j.jar are both put in WEB-INF/lib for my
> webapp.
>
If, indeed, parent-first, rather than child-first, classloading is being
done, then this may not work if commons-logging exists in a parent
classloader. It will not see log4j.jar in a child classloader.
> 2) commons-logging.jar is put in tomcat 6.0/lib (Common classloader according
> to tomcat 6.0 doc) and log4j.jar in WEB-INF/lib.
>
Can you think of a way where commons-logging would be able to find
log4j.jar in this scenario? Classloaders look up, not down. If you put
log4j.jar in WEB-INF/lib and have libraries that depend on
commons-logging, then you must also put commons-logging.jar alongside
log4j.jar. Of course, you already tried that above. Hmmm....
> The stacktraces of both scenarios are given below.
>
> Question is: Why can't they see each other and how can i solve the problem ?
>
> Can it really be so that i have to wrap the log4j class (as describe in the
> log4j book) and can someone explain why and will it help ?
>
> Any feed back or solution hints are really appreciated :-)
>
Try this. Put log4j.jar and commons-logging.jar (make sure it's not
commons-logging-api.jar) in Tomcat's "lib" directory. For per-app
logging, you'll also need either a repository selector (search the list
for info) or child-first classloading, plus log4j.jar and
commons-logging.jar in WEB-INF/lib (in addition to having them in
Tomcat's "lib" directory).
And see Tomcat's logging doc to see how to enable Log4j logging for
Tomcat's own logging, instead of having to configure JUL...
http://tomcat.apache.org/tomcat-6.0-doc/logging.html
http://tomcat.apache.org/tomcat-6.0-doc/extras.html
Jake
> Thx
> Jon Friis
>
> Scenario 1)
> --------------------------------------------------
>
> 25-10-2007 16:47:24 org.apache.catalina.core.StandardContext loadOnStartup
> SEVERE: Servlet /FAS threw load() exception
> java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory
> at
> org.apache.axis.components.logger.LogFactory.class$(LogFactory.java:45)
> at
> org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
> at
> org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
> at
> org.apache.axis.transport.http.AxisServlet.<clinit>(AxisServlet.java:75)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:169)
> at
> org.apache.axis.transport.http.AxisServletBase.class$(AxisServletBase.java:59)
> at
> org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104)
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4348)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> 25-10-2007 16:47:25 org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
>
> Scenario 2)
> --------------------------------------------------
>
> java.lang.NoClassDefFoundError: org/apache/log4j/Category
> at java.lang.Class.getDeclaredConstructors0(Native Method)
> at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
> at java.lang.Class.getConstructor0(Class.java:2699)
> at java.lang.Class.getConstructor(Class.java:1657)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370)
> at
> org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37)
> at
> org.apache.axis.transport.http.AxisServlet.<clinit>(AxisServlet.java:75)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:169)
> at
> org.apache.axis.transport.http.AxisServletBase.class$(AxisServletBase.java:59)
> at
> org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104)
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4348)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> 25-10-2007 17:02:14 org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
>
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org
Re: Log4j and commons-logging unable to locate each other
Posted by "Lilianne E. Blaze" <li...@tlen.pl>.
Hello,
Have you considered trying SLF4J?
The least invasive scenario would be to replace commons-logging.jar with
jcl104-over-slf4j-1.4.2.jar, slf4j-api-1.4.2.jar and
slf4j-log4j12-1.4.2.jar - so you'll have Log4j with SLF4J and
SLF4J-faking-Commons-Logging, no code changes required. I'm not sure if
it will help, but SLF4J was designed specifically to avoid classloader
problems.
Greetings, Lilianne E. Blaze
Jon Friis wrote:
> Hello
>
> I have a problem with log4j and commons-logging which i really hope anybody
> can help me with.
>
> Setup:
> Windows 2000, Apache Tomcat 6.0, JRE 1.6.0_02, log4j-1.2.15, commons-logging
> annd i am using eclipse 3.3.0
>
> Since i have multiple Web services on the same Tomcat server i have been
> putting log4j.jar in WEB-INF/lib and log4j.properties in WEB-INF/classes.
>
> My problem is some kind of class-loading problem where log4j and
> commons-logging won't find each other.
>
> 2 scenarios:
>
> 1) commons-logging.jar and log4j.jar are both put in WEB-INF/lib for my
> webapp.
>
> 2) commons-logging.jar is put in tomcat 6.0/lib (Common classloader according
> to tomcat 6.0 doc) and log4j.jar in WEB-INF/lib.
>
> The stacktraces of both scenarios are given below.
>
> Question is: Why can't they see each other and how can i solve the problem ?
>
> Can it really be so that i have to wrap the log4j class (as describe in the
> log4j book) and can someone explain why and will it help ?
>
> Any feed back or solution hints are really appreciated :-)
>
> Thx
> Jon Friis
>
> Scenario 1)
> --------------------------------------------------
>
> 25-10-2007 16:47:24 org.apache.catalina.core.StandardContext loadOnStartup
> SEVERE: Servlet /FAS threw load() exception
> java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory
> at
> org.apache.axis.components.logger.LogFactory.class$(LogFactory.java:45)
> at
> org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
> at
> org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
> at
> org.apache.axis.transport.http.AxisServlet.<clinit>(AxisServlet.java:75)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:169)
> at
> org.apache.axis.transport.http.AxisServletBase.class$(AxisServletBase.java:59)
> at
> org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104)
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4348)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> 25-10-2007 16:47:25 org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
>
> Scenario 2)
> --------------------------------------------------
>
> java.lang.NoClassDefFoundError: org/apache/log4j/Category
> at java.lang.Class.getDeclaredConstructors0(Native Method)
> at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
> at java.lang.Class.getConstructor0(Class.java:2699)
> at java.lang.Class.getConstructor(Class.java:1657)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370)
> at
> org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37)
> at
> org.apache.axis.transport.http.AxisServlet.<clinit>(AxisServlet.java:75)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:169)
> at
> org.apache.axis.transport.http.AxisServletBase.class$(AxisServletBase.java:59)
> at
> org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104)
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4348)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> 25-10-2007 17:02:14 org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org