log4j:WARN-Dokument-root-element "log4j:configuration", muss mit DOCTYPE-root "null"
Möchte ich eine Verbindung zu meinem log4j.xml mit log4j.xsd (xml-schema). Projekt habe keine Warnungen oder Fehler. Aber wenn ich es starte, Ihave solche Konsole Warnungen:
log4j:WARN Fortsetzbar parsing-Fehler 6 und Spalte 66.
log4j:WARN-Dokument-root-element "log4j:configuration", muss mit DOCTYPE-root "null".
log4j:WARN Fortsetzbar parsing-Fehler 6 und Spalte 66.
log4j:WARN-Dokument ist ungültig: keine Grammatik gefunden.
Ich denke, das problem in der schema-Standort. Aber ich weiß nicht, wie zu schreiben, es in der Regel.
Hoffnung für Ihre Ratschläge.
Meine log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
debug="false"
xsi:schemaLocation="http://www.example.org/log4j log4j.xsd ">
<appender name="logFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="E:/Codes/HorseRacing/logFile.log"/>
<param name="MaxFileSize" value="1MB"/>
<param name="MaxBackupIndex" value="5"/>
<param name="Encoding" value="UTF-8"/>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%-5p][%-16.16t][%40.40c] - %m%n"/>
</layout>
</appender>
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="Cp866"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%-5p][%-25.25l][%10.10c] - %m%n" />
</layout>
</appender>
<logger name="appLogger">
<level value="INFO"/>
<appender-ref ref="logFileAppender"/>
<appender-ref ref="ConsoleAppender"/>
</logger>
</log4j:configuration>
Und meine log4j.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema attributeFormDefault="unqualified"
elementFormDefault="qualified" version="1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="configuration">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="appender">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="param">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="value" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="layout">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="param">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="value" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="class" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="class" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="logger">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="level">
<xsd:complexType>
<xsd:attribute name="value" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="unbounded" name="appender-ref">
<xsd:complexType>
<xsd:attribute name="ref" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="debug" type="xsd:boolean" />
<xsd:attribute name="schemaLocation" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
<logger name="appLogger">
<level value="INFO"/>
<appender-ref ref="logFileAppender"/>
<appender-ref ref="ConsoleAppender"/>
</logger>
</log4j:configuration>
P. S. Sorry für mein Englisch...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jar, die diese Nachricht erwartet eine DTD validierte, nicht-schema validierte Konfiguration.
Überprüfen Sie Ihren classpath. Sie verwenden eine zu alte version der Rahmen für diese Konfiguration. Sehr wahrscheinlich haben Sie mehrere Versionen einer jar mit dem gleichen Namen auf Ihre Festplatte, und solche Ereignisse werden verweisen Sie auf das problem und auf die Entfernung von sehr alten Bibliotheken, die Sie nicht wirklich verwenden möchten.
Fügen Sie die folgende Zeile zu Ihrer log4j.xml config-Datei direkt nach der
<xml>
element:<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Komplette log4j-Konfiguration Beispiel aus Ihrer wiki: