Hi all, I am having major headaches lately with tomcat 5 and 6 regarding logging.
It started when deploying some cocoon application to tomcat 5 and 6. You can find an extended background summary (from me and others) here: https://issues.apache.org/jira/browse/FOR-1049 The problem is that tomcats logging seems to seriously interfere with my own one. I am using apache-tomcat-6.0.14 but have seen very similar problems in 5.5.x. I have to servlets one is based on cocoon the other one is a very simple one. The logging for the cocoon one is [EMAIL PROTECTED]:~/src/apache/tomcat6/webapps$ tree boja2/WEB-INF/lib/| grep log |-- avalon-logkit-2.1.jar |-- commons-logging-1.1.jar |-- commons-logging-adapters-1.1.jar |-- commons-logging-api-1.1.jar |-- excalibur-logger-2.1.jar |-- log4j-1.2.13.jar |-- logkit-1.2.2.jar The logging for the simple servlet is: tree searcher/WEB-INF/lib/|grep log |-- commons-logging-1.1.jar |-- log4j-1.2.14.jar Now starting tomcat with only one application it is working fine as well when I "mv" the other app into tomcat there is no problem but as soon as I *restart* tomcat. BAAANGG!! Oct 17, 2007 4:22:07 PM org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet /searcher threw load() exception org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.LogKitLogger' cannot be found or is not useable. at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:798) at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601) at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:664) at org.springframework.web.servlet.DispatcherServlet.<clinit>(DispatcherServlet.java:242) 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:494) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) 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:4045) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 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:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) I actually do not understand this exception at all since I do not use LogKitLogger in the "searcher servlet". In my servlet I have something like: import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * Simple wrapper class to easier debug/log. * */ public class LoggableSearcher { protected final Log log = LogFactory.getLog(this.getClass().getCanonicalName()); public LoggableSearcher() { super(); } } Which I then extend with a Spring Controller. public class SearchController extends LoggableSearcher implements Controller { ... } I am looking for a solution for a while now but actually have not found any solution. Can somebody please give me some hints what the problem is and how I can fix it? salu2 -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]