[英]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.