I am using DFC 5.3 with tomcat 5.5.25. When placing log4j.xml in {$catalina.home}/common/classes I get the following exception from DFC.
[12.12.2008/09:44:30,454][DEBUG][http-8080-Processor23] com.mycompany.dfcwebapp.servlet.DfcTestServlet: Reading objects from cabinet by DFC ...
log4j:ERROR Could not create an Appender. Reported error follows.
java.lang.ClassCastException: org.apache.log4j.ConsoleAppender
at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:174)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:149)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:162)
at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:424)
at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:393)
at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:792)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:675)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:625)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:593)
at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:824)
at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:88)
at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:57)
at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:816)
at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:583)
at com.documentum.fc.common.DfLogger.<clinit>(DfLogger.java:497)
at com.documentum.fc.client.DfSessionManager.newManualSession(DfSessionManager.java:741)
at com.documentum.fc.client.DfSessionManager.createSessionHelper(DfSessionManager.java:627)
at com.documentum.fc.client.DfSessionManager.getSession(DfSessionManager.java:559)
at com.documentum.fc.client.DfSessionManager.getSession(DfSessionManager.java:362)
at com.mycompany.dfcwebapp.servlet.DfcTestServlet.processRequest(DfcTestServlet.java:54)
at com.mycompany.dfcwebapp.servlet.DfcTestServlet.doGet(DfcTestServlet.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
log4j:ERROR Could not parse input source [org.xml.sax.InputSource@c00025].
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:396)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:162)
at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:424)
at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:393)
at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:792)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:675)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:625)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:593)
at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:824)
at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:88)
at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:57)
at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:816)
at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:583)
at com.documentum.fc.common.DfLogger.<clinit>(DfLogger.java:497)
at com.documentum.fc.client.DfSessionManager.newManualSession(DfSessionManager.java:741)
at com.documentum.fc.client.DfSessionManager.createSessionHelper(DfSessionManager.java:627)
at com.documentum.fc.client.DfSessionManager.getSession(DfSessionManager.java:559)
at com.documentum.fc.client.DfSessionManager.getSession(DfSessionManager.java:362)
at com.mycompany.dfcwebapp.servlet.DfcTestServlet.processRequest(DfcTestServlet.java:54)
at com.mycompany.dfcwebapp.servlet.DfcTestServlet.doGet(DfcTestServlet.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
7656 [http-8080-Processor23] WARN com.documentum.fc.common.DfLogger - Failed to load log4j.xml. Using default log4j configuration
[12.12.2008/09:44:31,204][ INFO][http-8080-Processor23] com.mycompany.dfcwebapp.servlet.DfcTestServlet: Reading objects ok.
When I replace log4j.xml by log4j.properties, evereything works fine (see attachments). Is DFC not working with log4.xml? Log4j documentation says that both ways of logging configuration are possible.
Does someone have a working log4j.xml file?
Thanks in advance
dius