According to the error message, the DTD expects all elements in the specified order.
(renderer*,appender*,(category|logger)*,root?,categoryFactory?) <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="\n[%-6r] - %m" /> </layout> </appender> <appender name="FILE" class="org.apache.log4j.FileAppender"> <param name="file" value="D:/workspace_Testing/IdMUnitTests/logs/IdMUnitlog.log" /> <param name="immediateFlush" value="true" /> <param name="threshold" value="debug" /> <param name="append" value="false" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%m%n" /> </layout> </appender> <category name="se.jayway.ddsteps"> <priority value="info"></priority> </category> <root> <priority value="INFO"></priority> <appender-ref ref="console" /> <appender-ref ref="FILE" /> </root> </log4j:configuration>
XML configuration order
So remember to write xml in that order
<renderer></renderer> <appender></appender> <plugin></plugin> <logger></logger> <category></category> <root></root> <loggerfactory></loggerfactory> <categoryfactory></categoryfactory>
Ankur singhal
source share