Howdy, I just answered this question on log4j-user. <sarcastic>Thanks for cross-posting</sarcastic>
Yoav Shapira Millennium ChemInformatics >-----Original Message----- >From: Mahesh Joshi [mailto:[EMAIL PROTECTED] >Sent: Wednesday, September 24, 2003 2:25 AM >To: [EMAIL PROTECTED] >Subject: Tomcat 4.1.24 (or 27) with Log4j 1.2.8 - Tomcat does not start > >Hi All, > >I am migrating my current application to use Struts 1.1 and I am facing a >problem. My current app. has logging implemented with >log4J 1.2.8. > >I am facing a bizzare problem when using Log4J 1.2.8 with Tomcat 4.1.24 (or >Tomcat 4.1.27) on Windows 2000 with JDK 1.4.1_02 > >When I put my log4j -1.2.8 in the jak*/common/lib directory, Tomcat refuses >to start > >The exception throw is as follows: > >org.apache.commons.logging.LogConfigurationException: >org.apache.commons.logging >.LogConfigurationException: No suitable Log constructor >[Ljava.lang.Class;@1a679 >b7 for org.apache.commons.logging.impl.Log4JLogger > at >org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory >Impl.java:532) > at >org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory >Impl.java:272) > at >org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414) > at org.apache.commons.digester.Digester.<init>(Digester.java:346) > at >org.apache.catalina.startup.Catalina.createStartDigester(Catalina.jav >a:280) > at org.apache.catalina.startup.Catalina.start(Catalina.java:441) > at org.apache.catalina.startup.Catalina.execute(Catalina.java:400) > at org.apache.catalina.startup.Catalina.process(Catalina.java:180) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at >sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. >java:39) > at >sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces >sorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203) >Caused by: org.apache.commons.logging.LogConfigurationException: No >suitable >Log > constructor [Ljava.lang.Class;@1a679b7 for >org.apache.commons.logging.impl.Log4 >JLogger > at >org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogF >actoryImpl.java:432) > at >org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory >Impl.java:525) > ... 12 more >Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger > at java.lang.Class.getDeclaredConstructors0(Native Method) > at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590) > at java.lang.Class.getConstructor0(Class.java:1762) > at java.lang.Class.getConstructor(Class.java:1002) > at >org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogF >actoryImpl.java:429) > ... 13 more > >If I put my log4J in the jakarta../shared/lib or WEB-INF/lib, Tomcat does >startup. >However, Struts fails to initialize giving an exception as follows: >javax.servlet.ServletException: Error instantiating servlet class >org.apache.struts.action.ActionServlet > at >org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.ja va:9 >1 >2) >... >----- Root Cause ----- >java.lang.ExceptionInInitializerError >Caused by: org.apache.commons.logging.LogConfigurationException: >org.apache.commons.logging.LogConfigurationException: No suitable Log >constructor [Ljava.lang.Class;@3a5794 for >org.apache.commons.logging.impl.Log4JLogger > at >org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryIm pl.j >a >va:532) >Caused by: org.apache.commons.logging.LogConfigurationException: No >suitable >Log constructor [Ljava.lang.Class;@3a5794 for >org.apache.commons.logging.impl.Log4JLogger > at >org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFac tory >I >mpl.java:432) > at >org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryIm pl.j >a >va:525) > ... 28 more >Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger > at java.lang.Class.getDeclaredConstructors0(Native Method) > at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590) > at java.lang.Class.getConstructor0(Class.java:1762) > at java.lang.Class.getConstructor(Class.java:1002) > at >org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFac tory >I >mpl.java:429) > ... 29 more > > >What am I missing? > >Thanks! > >Mahesh > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]