log4j:AVERTIR élément racine du Document “log4j:configuration”, doit correspondre à DOCTYPE racine “null”
Je veux connecter mon log4j.xml avec log4j.xsd (xml schema). Le projet n'ont pas d'avertissements ou d'erreurs. Mais quand je le démarre, j'ai une telle console avertissements:
log4j:AVERTIR Continuable erreur d'analyse 6 et de la colonne 66.
log4j:AVERTIR élément racine du Document "log4j:configuration", doit correspondre à DOCTYPE racine "null".
log4j:AVERTIR Continuable erreur d'analyse 6 et de la colonne 66.
log4j:AVERTIR Document n'est pas valide: pas de grammaire trouvé.
Je pense, le problème dans le schéma de l'Emplacement. Mais je ne sais pas comment l'écrire normalement.
De l'espoir pour vos conseils.
Mon 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>
Et mon 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. Désolé pour mon anglais...
OriginalL'auteur dmgmyza | 2012-06-21
Vous devez vous connecter pour publier un commentaire.
Le pot qui est de la production de ce message s'attend à voir une DTD validé, pas de schéma validé la configuration.
Vérifier votre classpath. Vous êtes à l'aide d'une trop vieille version du framework pour cette configuration. Très probablement, vous avez plusieurs versions d'un bocal avec le même nom sur votre disque dur, et de telles occurences vous pointez sur le problème et à l'enlèvement de très anciennes bibliothèques que vous ne voulez pas vraiment à utiliser.
Merci beaucoup! J'ai téléchargé 1.2.9 - et changé de validation par DTD. tout est ok.
Alors, avez-vous downgrade?
Moi? Pas de. Et je n'ai pas de conseiller.
Désolé, c'était une question pour @dmgmyza.
OriginalL'auteur Jirka Hanika
Ajoutez la ligne suivante à votre log4j.xml fichier de configuration à droite après le
<xml>
élément:<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Complet de Configuration log4j Exemple de leur wiki:
Voir cette réponse trop sur l'extraction de la DTD
OriginalL'auteur Gernot Krost