Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Apache Tomcat »

User-specified log class 'com.sun.idm.logging.trace.TraceLogger' cannot be found or is not useable.

Anoop kumar V

2007-01-23

Replies:

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
©2008 junlu.com - Jax Systems, LLC, U.S.A.