Я использую log4j2-beta9 и хочу настроить его с помощью log4j2.xml в строгом режиме. Моя проблема: как указать атрибуты, отсутствующие в отправленном файле схемы? Пример:Log4j2 Appender атрибуты со строгим xml config
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration
status="DEBUG"
strict="true"
monitorInterval="5"
name="TestingAttributes"
verbose="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Log4j-config.xsd">
<Properties>
</Properties>
<Appenders>
<Appender
type="Console"
name="SYSERR"
target="SYSTEM_ERR"> <!-- cvc-complex-type.3.2.2: Attribute 'target' is not allowed to appear in element 'Appender'. -->
<Layout Type="PatternLayout">
<Pattern>%date{dd.MM.yyyy HH:mm:ss,SSS} %5p %logger %m%n</Pattern>
</Layout>
<Filters>
<Filter
type="MarkerFilter"
marker="FLOW"
onMatch="DENY"
onMismatch="NEUTRAL" />
<Filter
type="MarkerFilter"
marker="EXCEPTION"
onMatch="DENY"
onMismatch="NEUTRAL" />
</Filters>
</Appender>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="SYSERR" />
</Root>
</Loggers>
</Configuration>
Обратите внимание, что я хочу, чтобы установить Appender иметь цель SYSTEM_ERR
но атрибут не допускается в строгом режиме.
target="SYSTEM_ERR"> <!-- cvc-complex-type.3.2.2: Attribute 'target' is not allowed to appear in element 'Appender'. -->
Я всегда мог изменить Log4j-config.xsd
и разрешить этот атрибут там, но это было бы своего рода неправильно и потому, что не все appenders имеют атрибут target
.
Поскольку поиск в Интернете не помог мне до сих пор, я спрашиваю вас: Есть ли что-то, что мне не хватает при настройке Log4j2 в строгом режиме XML?
Должен ли я «исправлять» XMLConfiguration и файл схемы и вносить изменения в log4j, или есть ли другой способ, кроме использования строгого режима?
Заранее спасибо.
Сделали это ... см. Http://mail-archives.apache.org/mod_mbox/logging-log4j-user/201310.mbox/%[email protected]%3E – user2523784