I'm seeing an issue when I have more than one webapp's log4j.xml using the ServletContextLogAppender for a logger. I'm attaching the relevant part of the log file. I included Log4j's own debugging.

Anyone know what this is happening? I think I know where it is coming from. DomConfigurator#parseAppender() seems to return null, but I'm not sure why?

Note that log4j.jar and log4j-sandbox.jar are in CATALINA_HOME/common/lib and shared/lib respectively (the jars can see each other just fine even in the the separate lib directories). I'm using the ContextJNDISelector to manage logger repositories. The other appenders work just fine. Only if I add an <appender-ref> referencing the named ServletContextLogAppender in the second app being configured (and presumably any additional apps) do I get the stacktrace.

Jake

At 01:59 PM 8/25/2003 -0400, you wrote:

Howdy,

>So, if you don't supply the appropriate configuration, then the
appender
>will report an error and log nothing even if you've done the servlet
>context listener registration of your context.  Does that make more
sense
>now?

I understand what you mean now -- the explanation was clear, complete,
and helpful.  It also answered my self-asked question which was why I
wasn't using this approach anymore -- too tied to the server for my
taste ;)

Yoav Shapira



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]
7328 [main] INFO  org.apache.catalina.core.StandardHostDeployer  - Processing Context 
configuration file URL 
file:D:\Java\Apache\Jakarta\tomcat-5.0.9\conf\Catalina\localhost\Barracuda2.xml
log4j:WARN No appenders could be found for logger 
(tomcat.localhost./Barracuda2.Context).
log4j:WARN Please initialize the log4j system properly.
log4j: Threshold ="debug".
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [test.org.enhydra.barracuda] additivity to [false].
log4j: Level value for test.org.enhydra.barracuda is  [off].
log4j: test.org.enhydra.barracuda level set to OFF
log4j: Class name: [org.apache.log4j.FileAppender]
log4j: Setting property [file] to 
[D:\Java\Apache\Jakarta\tomcat-5.0.9\webapps\Barracuda2\WEB-INF\logs/test.log].
log4j: Setting property [append] to [true].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%-4r [%t] %-5p %c %x - %m%n].
log4j: setFile called: 
D:\Java\Apache\Jakarta\tomcat-5.0.9\webapps\Barracuda2\WEB-INF\logs/test.log, true
log4j: setFile ended
log4j: Adding appender named [JUnitAppender] to category [test.org.enhydra.barracuda].
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.enhydra.barracuda.plankton.Classes] additivity to [true].
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%-4r [%t] %-5p %c %x - %m%n].
log4j: Adding appender named [A1] to category [org.enhydra.barracuda.plankton.Classes].
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.enhydra.barracuda.plankton.data.ObjectRepositoryAssembler] 
additivity to [true].
log4j: Level value for org.enhydra.barracuda.plankton.data.ObjectRepositoryAssembler 
is  [info].
log4j: org.enhydra.barracuda.plankton.data.ObjectRepositoryAssembler level set to INFO
log4j: Adding appender named [A1] to category 
[org.enhydra.barracuda.plankton.data.ObjectRepositoryAssembler].
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.enhydra.barracuda.core.event.ApplicationGateway] additivity to 
[true].
log4j: Adding appender named [A1] to category 
[org.enhydra.barracuda.core.event.ApplicationGateway].
log4j: Level value for root is  [info].
log4j: root level set to INFO
log4j: Class name: [org.apache.log4j.appender.ServletContextLogAppender]
log4j:ERROR Could not create an Appender. Reported error follows.
java.lang.ClassCastException
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:165)
        at 
org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:140)
        at 
org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
        at 
org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
        at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384)
        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:783)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:584)
        at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:687)
        at org.apache.log4j.servlet.InitContextListener.initializeLog4j(Unknown Source)
        at org.apache.log4j.servlet.InitContextListener.contextInitialized(Unknown 
Source)
        at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3614)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4061)
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:868)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:852)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:614)
        at 
org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:835)
        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.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
        at org.apache.commons.digester.Rule.end(Rule.java:276)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
        at org.apache.xerces.parsers.AbstractSAXParser.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.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1567)
        at 
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:515)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:866)
        at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:529)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1008)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:399)
        at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1135)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1127)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:2311)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        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.start(Bootstrap.java:297)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:394)
log4j:ERROR Could not parse input source [EMAIL PROTECTED]
java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:393)
        at 
org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:141)
        at 
org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
        at 
org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
        at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384)
        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:783)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:584)
        at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:687)
        at org.apache.log4j.servlet.InitContextListener.initializeLog4j(Unknown Source)
        at org.apache.log4j.servlet.InitContextListener.contextInitialized(Unknown 
Source)
        at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3614)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4061)
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:868)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:852)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:614)
        at 
org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:835)
        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.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
        at org.apache.commons.digester.Rule.end(Rule.java:276)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
        at org.apache.xerces.parsers.AbstractSAXParser.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.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1567)
        at 
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:515)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:866)
        at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:529)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1008)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:399)
        at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1135)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1127)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:2311)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        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.start(Bootstrap.java:297)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:394)


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

Reply via email to