簡體   English   中英

Log4j2 JSONLayout給出錯誤

[英]Log4j2 JSONLayout gives error

我嘗試配置我的log4j2,但我總是收到此錯誤:

2017-11-06 01:14:15,454 RMI TCP Connection(3)-127.0.0.1 ERROR appender RollingFile has no parameter that matches element PatternLayout
2017-11-06 01:14:15,478 RMI TCP Connection(3)-127.0.0.1 ERROR appender RollingFile has no parameter that matches element PatternLayout
2017-11-06 01:14:15,484 RMI TCP Connection(3)-127.0.0.1 ERROR appender RollingFile has no parameter that matches element JSONLayout

最后一個錯誤是針對“ mylevs”附加程序的。 結果:我得到用於警告和錯誤的JSON格式日志,但是對於mylevel,則存在通常的數據格式。 是什么導致此錯誤?

我的log4j2.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" strict="true" name="XMLConfigTest"
               packages="org.apache.logging.log4j.test">
    <Properties>
        <Property name="logsPath">F:/Projects/Work/DSTULib/logs/ULS</Property>
    </Properties>

    <CustomLevel name="MYLEVEL" intLevel="700" />

    <Appenders>

        <RollingFile name="errors" fileName="${logsPath}/errors.log"
                     filePattern="'.'%d{yyyy-MM-dd}'.log.zip'">
            <JSONLayout compact="true" eventEol="true"/>
            <PatternLayout>
                <Pattern>%n%n%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
            <Filters>
                <ThresholdFilter level="FATAL" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
        </RollingFile>

        <RollingFile name="warns" fileName="${logsPath}/warns.log"
                     filePattern="'.'%d{yyyy-MM-dd}'.log.zip'">
            <JSONLayout compact="true" eventEol="true"/>
            <PatternLayout>
                <Pattern>%n%n%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
            <Filters>
                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
        </RollingFile>

        <RollingFile name="mylevs" fileName="${logsPath}/mylevel.log"
                     filePattern="'.'%d{yyyy-MM-dd}'.log.zip'">
            <PatternLayout>
                <Pattern>%n%n%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
            <Filters>
                <ThresholdFilter level="TRACE" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="MYLEVEL" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
            <JSONLayout compact="true" eventEol="true"/>
        </RollingFile>

    </Appenders>

    <Loggers>
        <Root level="all">
            <AppenderRef ref="mylevs" level="mylevel" />
            <AppenderRef ref="errors" level="error"/>
            <AppenderRef ref="warns" level="warn"/>
        </Root>
    </Loggers>

</Configuration>

PS:我正在遵循文檔指南。 這段文字可以通過這個問題,所以請不要閱讀。

您可以為每個追加程序定義一個布局。 但是您要為每個布局定義兩種布局。 嘗試從每個附加程序中刪除一個布局。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM