0

log4j2-beta9 を使用しており、厳密モードで log4j2.xml を使用して構成したいと考えています。私の問題は、出荷されたスキーマ ファイルにない属性を指定するにはどうすればよいですか? 例:

<?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>

アペンダーにターゲットを設定したいのですSYSTEM_ERRが、厳密モードでは属性が許可されていないことに注意してください。

target="SYSTEM_ERR"> <!-- cvc-complex-type.3.2.2: Attribute 'target' is not allowed to appear in element 'Appender'. -->

私はいつでも を編集してLog4j-config.xsdその属性を許可することができましたが、すべてのアペンダーがtarget属性を持っているわけではないため、それはちょっと間違っています。

Web を検索してもこれまでのところ役に立たなかったので、お尋ねします: Log4j2 を厳密な XML モードで構成する際に不足しているものはありますか?

XMLConfiguration とスキーマ ファイルに「パッチ」を適用し、変更を log4j にコミットする必要がありますか、それとも厳密モードを使用しない以外に別の方法がありますか?

前もって感謝します。

4

1 に答える 1