log4j предупреждение при использовании log4j.xml - PullRequest
5 голосов
/ 23 июня 2010

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

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

Ответы [ 2 ]

2 голосов
/ 23 июня 2010

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

2 голосов
/ 23 июня 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...