Pewien zonk związany z wkurzającym narzędziem jakim jest logj polegający na tym, że po dodaniu pliku log4j.xml do classpath można uzyskać błąd:

Listing 1. błąd w składni log4j.xml

log4j:WARN Continuable parsing error 2 and column 69
log4j:WARN Document root element "log4j:configuration", must match DOCTYPE root "null".
log4j:WARN Continuable parsing error 2 and column 69
log4j:WARN Document is invalid: no grammar found.

Rozwiązaniem jest dodanie doctype do pliku xml:

Listing 2. prawidłowy plik log4j.xml

<?xml version="1.0" encoding="UTF-8" ??><configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender class="org.apache.log4j.ConsoleAppender" name="console"><param name="Target" value="System.out"></param><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"></param></layout></appender><root><priority value="info"></priority><appender-ref ref="console"></appender-ref></root></configuration>

W czym rzecz? Jeżeli się mylę to poprawcie, ale dodanie atrybutu xmlns:log4j powinno wystarczyć i co więcej atrybut ten zastępuje deklarację doctype dzięki zadeklarowaniu XSD w zamian DTD.