https://issues.apache.org/bugzilla/show_bug.cgi?id=44908

           Summary: LoggerConfigurationException Caused by session-timeout
                    Setting in web.xml
           Product: Tomcat 4
           Version: 4.1.37
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: major
          Priority: P2
         Component: Catalina
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


JDK version 1.4.2_16

A LoggerConfigurationException would occur if the default web.xml (in the conf
directory) or the web.xml in the web-app (in WEB-INF) contains the
session-timeout entry

i.e.
<session-config>
    <session-timeout>30</session-timeout>
</session-config>

AND

the WEB-INF/classes directory contains a commons-logging.properties file with
the entry
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger.

The console would display

30-Apr-2008 17:44:17 org.apache.commons.digester.Digester endElement
SEVERE: End event threw exception
org.apache.commons.logging.LogConfigurationException: User-specified log class
'
org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
        at
org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:874)
        at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
        at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
        at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
        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:561)
        at org.apache.commons.digester.Rule.end(Rule.java:253)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1222)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(UnknownSource)
        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:1745)
        at
org.apache.catalina.startup.ContextConfig.defaultConfig(ContextConfig.java:488)
        at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:579)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:182)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3644)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:777)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:538)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:265)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:731)
        at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:649)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:379)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:808)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:335)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1156)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:697)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:450)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2213)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:484)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:371)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:134)
        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:151)

while the log file in the logs directory would contain

2008-04-30 17:44:17 ContextConfig[/test] Parse error in default web.xml
org.apache.commons.logging.LogConfigurationException: User-specified log class
'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not
useable.
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1225)
        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:1745)
        at
org.apache.catalina.startup.ContextConfig.defaultConfig(ContextConfig.java:488)
        at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:579)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:182)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3644)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:777)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:538)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:265)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:731)
        at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:649)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:379)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:808)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:335)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1156)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:697)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:450)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2213)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:484)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:371)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:134)
        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:151)

2008-04-30 17:44:17 ContextConfig[/test]: Occurred at line 324 column 46
2008-04-30 17:44:17 ContextConfig[/test] Parse error in application web.xml
org.apache.commons.logging.LogConfigurationException: User-specified log class
'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not
useable.
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1225)
        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:1745)
        at
org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:221)
        at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:580)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:182)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3644)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:777)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:538)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:265)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:731)
        at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:649)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:379)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:808)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:335)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1156)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:697)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:450)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2213)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:484)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:371)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:134)
        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:151)

2008-04-30 17:44:17 ContextConfig[/test]: Occurred at line 6 column 40

Note that both line 324 of the default web.xml and line 6 of the web app
web.xml point to the session-timeout entry.

Attached is the WAR file that can be used to replicate this. It contains only
/test (root directory of the web-app)
/test/WEB-INF
/test/WEB-INF/classes
/test/WEB-INF/classes/commons-logging.properties
/test/WEB-INF/web.xml


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to