简体   繁体   English

Log4j2 JSONLayout给出错误

[英]Log4j2 JSONLayout gives error

i am try to config my log4j2 but i always get this errors: 我尝试配置我的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

The last error is for "mylevs" appender. 最后一个错误是针对“ mylevs”附加程序的。 Result: i get JSON format logs for warn and error, but for mylevel there is usual data format. 结果:我得到用于警告和错误的JSON格式日志,但是对于mylevel,则存在通常的数据格式。 What could cause this errors? 是什么导致此错误?

My log4j2.xml config: 我的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: i am following documentation guide. PS:我正在遵循文档指南。 And this text to pass this quastion, so please don't read this. 这段文字可以通过这个问题,所以请不要阅读。

You can define exactly one layout per appender. 您可以为每个追加程序定义一个布局。 But you are defining two layouts for each one. 但是您要为每个布局定义两种布局。 Try removing one layout from each of your appenders. 尝试从每个附加程序中删除一个布局。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM