предупреждающее сообщение log4j при использовании log4j.xml

я пытаюсь преобразовать свой 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>

есть ли что-нибудь, что я пропустил здесь?спасибо!

5
задан skaffman 22 June 2010 в 22:23
поделиться

2 ответа

Атрибут standalone, грубо говоря, объявляет, что на набор информации не влияет какое-либо содержимое вне документа. Однако в данном случае это не так, потому что атрибуты имеют значения по умолчанию, указанные во внешнем DTD.

2
ответ дан 15 December 2019 в 00:50
поделиться

Как вы подозреваете, удаление атрибута standalone = "yes" из объявления xml решит проблему. Standalone = "yes" делает некоторые тонкие вещи ( вот официальная спецификация ). В этом случае объявление влияет на то, как проверяющий синтаксический анализатор xml, используемый log4j, анализирует xml-документ, который ссылается на dtd.

Удаление этого атрибута из объявления, вероятно, правильно и не должно существенно влиять на вашу конфигурацию log4j.

2
ответ дан 15 December 2019 в 00:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: