Konflikt in log4j beim laden von Bibliotheken für die DOM? (Andere Implementierungen des dom in den classpath nicht erlaubt?)

Ich versuchte log4j in eine web-Anwendung in Tomcat 7.

Ich habe die log4j-Bibliothek in der WEB-INF\lib meiner web-Anwendung.

Ich habe Folgendes log4j.xml unter WEB-INF\classes

<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

      <!-- Log output to Console -->
      <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
        <param name="Target" value="System.out"/> 
        <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> 
        </layout> 
      </appender>  

      <appender name="rolling" class="org.apache.log4j.RollingFileAppender"> 
        <param name="file" value="myLogfile.log"/>    
        <param name="append" value="true" />
        <param name="encoding" value="UTF-8" />  
        <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> 
        </layout> 
      </appender> 

      <!-- Log to both Console and File -->
      <root> 
        <priority value ="debug" /> 
        <appender-ref ref="console" /> 
        <appender-ref ref="rolling" />
      </root>  
</log4j:configuration>

Logge ich mich z.B. in einem servlet oder filter, die ich kenne, sind be-aber ich kann nicht sehen, die Ausgabe von log-überall.

E. g.

Logger log = Logger.getLogger(MyFilter.class);

und in doFilter ich log also log.debug("logging information); log.error("logging information);

Kann ich nicht sehen, die Ausgabe in der Tomcat-Konsole als Folge der Konsole appender und ich sehe nicht, das myLogfile.log erstellt.

Ich bin nicht sicher, wo ist diese Datei soll erstellt werden.

Sehe ich nur System.out Aussagen von servlets und Filter.

Was mache ich hier falsch?

UPDATE:

Ich habe in den classpath xercesImpl.jar und jaxb-impl.jar. Könnte dies ein Problem verursachen?

Bemerkte ich, dass die folgende Ausnahme verpasste ich früher in der Tomcat-Konsole:

log4j:WARN Fehler bei der Standard-Initialisierung
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
bei java.lang.ClassLoader.defineClass1(Native-Methode)
bei java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
bei java.lang.ClassLoader.defineClass(ClassLoader.java:615)
bei java.Sicherheit.SecureClassLoader.defineClass(SecureClassLoader.java:141)
bei org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2823)
bei org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1655)
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
bei org.apache.xerces.Parser.AbstractDOMParser.startDocument(Unbekannt
Quelle)
bei org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unbekannt
Quelle)
bei org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unbekannt
Quelle)
bei org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unbekannt
Quelle)
bei org.apache.xerces.Parser.XML11Configuration.parse(Unknown Source)
bei org.apache.xerces.Parser.XML11Configuration.parse(Unknown Source)
bei org.apache.xerces.Parser.XMLParser.parse(Unknown Source)
bei org.apache.xerces.Parser.DOMParser.parse(Unknown Source)
bei org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
bei org.apache.log4j.xml.DOMConfigurator$2.parse(DOMConfigurator.java:767)
bei org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:866)
bei org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:773)
bei org.apache.log4j.Helferinnen und Helfer.OptionConverter.selectAndConfigure(OptionConverter.java:483)
bei org.apache.log4j.LogManager.(LogManager.java:127)
bei org.apache.log4j.Logger.getLogger(Logger.java:117)
bei com.test.Meines filters.(Meinfilter.java:26)
bei der sun.reflektieren.NativeConstructorAccessorImpl.newInstance0(Native-Methode)
bei der sun.reflektieren.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
bei der sun.reflektieren.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
bei java.lang.reflektieren.Konstruktor.newInstance(Constructor.java:513)
bei java.lang.Klasse.newInstance0(Klasse.java:355)
bei java.lang.Klasse.newInstance(Class.java:308)
bei org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:125)
bei org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:256)
bei org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
bei org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)
bei org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4624)
bei org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5281)
bei org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
bei org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
bei org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
bei org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
bei org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
bei org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
bei java.util.gleichzeitige.Vollzieher$RunnableAdapter.call(Vollzieher.java:441)
bei java.util.gleichzeitige.FutureTask$Sync.innerRun(FutureTask.java:303)
bei java.util.gleichzeitige.FutureTask.run(FutureTask.java:138)
bei java.util.gleichzeitige.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
bei java.util.gleichzeitige.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
bei java.lang.Thread.run(Thread.java:662), Verursacht durch: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
... 48 mehr

log4j:WARN No appenders gefunden werden konnte, der für den logger (com.test.Meinfilter).
log4j:WARN Bitte initialisieren Sie die log4j-Systems richtig. log4j:WARN Sehen
http://logging.apache.org/log4j/1.2/faq.html#noconfig für mehr info.

Einen Fehler oder eine Nachricht im Zusammenhang mit Log4j in der Konsole beim starten von Tomcat?
Du hast Recht.Ich aktualisiert die post
Es scheint, Sie haben ein class loader problem beim Parsen der log4j-Konfiguration xml.
Ich werde aktualisieren Sie den OP-Titel, um diese zu reflektieren
Sie haben xerces.jar in Ihrem app-lib-Ordner? Wenn nicht würd ich dir empfehlen, um es hinzuzufügen. xerces.apache.org/#xerces2-j Es hat die Element Traversal (org.w3c.dom.ElementTraversal)

InformationsquelleAutor Cratylus | 2012-01-12

Schreibe einen Kommentar