When I start my tomcat server with our application, I get the following
errors and the tomcat fails to startup:
SEVERE: End event threw exception
org.apache.commons.logging.LogConfigurationException: User-specified log
class 'com.sun.idm.logging.trace.TraceLogger' 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.impl.LogFactoryImpl.getInstance(
LogFactoryImpl.java:307)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
at org.apache.commons.beanutils.ConvertUtilsBean.<init>(
ConvertUtilsBean.java:130)
at org.apache.commons.beanutils.BeanUtilsBean.<init>(
BeanUtilsBean.java:110)
at org.apache.commons.beanutils.BeanUtilsBean$1.initialValue(
BeanUtilsBean.java:68)
at org.apache.commons.beanutils.ContextClassLoaderLocal.get(
ContextClassLoaderLocal.java:80)
at org.apache.commons.beanutils.BeanUtilsBean.getInstance(
BeanUtilsBean.java:78)
at org.apache.commons.beanutils.ConvertUtilsBean.getInstance(
ConvertUtilsBean.java:115)
at org.apache.commons.beanutils.ConvertUtils.convert(
ConvertUtils.java:217)
at org.apache.commons.digester.CallMethodRule.end(
CallMethodRule.java:560)
at org.apache.commons.digester.Rule.end(Rule.java:230)
at org.apache.commons.digester.Digester.endElement(Digester.java
:1130)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown
Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown
Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1647)
at org.apache.catalina.startup.ContextConfig.applicationConfig(
ContextConfig.java:220)
at org.apache.catalina.startup.ContextConfig.start(
ContextConfig.java:579)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(
ContextConfig.java:181)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(
LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.start(
StandardContext.java:3643)
at org.apache.catalina.core.ContainerBase.addChildInternal(
ContainerBase.java:776)
at org.apache.catalina.core.ContainerBase.addChild(
ContainerBase.java:759)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java
:537)
at org.apache.catalina.core.StandardHostDeployer.install(
StandardHostDeployer.java:260)
at org.apache.catalina.core.StandardHost.install(StandardHost.java
:730)
at org.apache.catalina.startup.HostConfig.deployDirectories(
HostConfig.java:625)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
:374)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:784)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(
HostConfig.java:330)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(
LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1155)
at org.apache.catalina.core.StandardHost.start(StandardHost.java
:696)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1147)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
:310)
at org.apache.catalina.core.StandardService.start(
StandardService.java:449)
at org.apache.catalina.core.StandardServer.start(StandardServer.java
:2212)
at org.apache.catalina.startup.Catalina.start(Catalina.java:458)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:345)
at org.apache.catalina.startup.Catalina.process(Catalina.java:129)
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:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:150)
I googled around and found that the TraceLogger class must have a
constructor with a single String parameter. So I checked for that:
C:\Documents and Settings\akumar\Desktop\Downloads>javap
com.sun.idm.logging.trace.TraceLogger
Compiled from "TraceLogger.java"
public class com.sun.idm.logging.trace.TraceLogger extends
java.lang.Objectimplements
org.apache.commons.logging.Log{
public static final java.lang.String code_id;
public com.sun.idm.logging.trace.TraceLogger(java.lang.String);
public boolean isTraceEnabled();
public boolean isDebugEnabled();
public boolean isInfoEnabled();
public boolean isWarnEnabled();
public boolean isErrorEnabled();
public boolean isFatalEnabled();
public void trace(java.lang.Object);
public void trace(java.lang.Object, java.lang.Throwable);
public void debug(java.lang.Object);
public void debug(java.lang.Object, java.lang.Throwable);
public void info(java.lang.Object);
public void info(java.lang.Object, java.lang.Throwable);
public void warn(java.lang.Object);
public void warn(java.lang.Object, java.lang.Throwable);
public void error(java.lang.Object);
public void error(java.lang.Object, java.lang.Throwable);
public void fatal(java.lang.Object);
public void fatal(java.lang.Object, java.lang.Throwable);
static {};
}
And it is there: A constructor with a single String argument. But I still
get the above errors. Can someone help me please.
--
Thanks and best regards,
Anoop