я пытаюсь преобразовать свой log4j.properties в log4j.xml, потому что я должен использовать часть функции фильтра. я получаю набор предупреждения, когда я запускаю приложение, я не абсолютно уверен, как решить их:
log4j:WARN Continuable parsing error 4 and column 69
log4j:WARN Attribute "threshold" for element type "log4j:configuration" has a default value and must be specified in a standalone document.
log4j:WARN Continuable parsing error 4 and column 69
log4j:WARN Attribute "debug" for element type "log4j:configuration" has a default value and must be specified in a standalone document.
log4j:WARN Continuable parsing error 4 and column 69
log4j:WARN Attribute "reset" for element type "log4j:configuration" has a default value and must be specified in a standalone document.
log4j:WARN Continuable parsing error 20 and column 23
log4j:WARN The content of element type "log4j:configuration" must match "(renderer*,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)".
log4j:WARN Unrecognized element param
я просто пробую очень простым файлом log4j.xml также:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="A1" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p | %d{MM-dd-yyyy HH:mm:ss.SSS} | %t | %c(%L) - %m%n"/>
</layout>
</appender>
<root>
<priority value="INFO"/>
<appender-ref ref="A1"/>
</root>
</log4j:configuration>
есть ли что-нибудь, что я пропустил здесь?спасибо!
Атрибут standalone, грубо говоря, объявляет, что на набор информации не влияет какое-либо содержимое вне документа. Однако в данном случае это не так, потому что атрибуты имеют значения по умолчанию, указанные во внешнем DTD.
Как вы подозреваете, удаление атрибута standalone = "yes" из объявления xml решит проблему. Standalone = "yes" делает некоторые тонкие вещи ( вот официальная спецификация ). В этом случае объявление влияет на то, как проверяющий синтаксический анализатор xml, используемый log4j, анализирует xml-документ, который ссылается на dtd.
Удаление этого атрибута из объявления, вероятно, правильно и не должно существенно влиять на вашу конфигурацию log4j.