【发布时间】:2018-01-28 01:03:19
【问题描述】:
我正在尝试将StringWriter 用作Target 用于WriterAppender。有一次,我
将我的日志写入StringWriter,我想将这些日志发送为
我的方法的回应。
我当前的 log4j2.xml -
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="TRACE">
<Appenders>
<Writer name="MyAppender" target="StringWriter">
<JsonLayout/>
</Writer>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="MyAppender"/>
</Root>
</Loggers>
</Configuration>
这给了我以下错误-
2017-08-19 20:07:49,359 main ERROR Writer contains invalid attributes "name", "target"
2017-08-19 20:07:49,359 main ERROR appender Writer has no parameter that matches element JsonLayout
2017-08-19 20:07:49,359 main ERROR Unable to inject fields into builder class for plugin type class org.apache.logging.log4j.core.appender.WriterAppender, element Writer. java.lang.NullPointerException
at org.apache.logging.log4j.core.appender.WriterAppender.getManager(WriterAppender.java:168)
at org.apache.logging.log4j.core.appender.WriterAppender.access$000(WriterAppender.java:35)
at org.apache.logging.log4j.core.appender.WriterAppender$Builder.build(WriterAppender.java:56)
我正在寻找正确的 XML 配置(首选)
如果WriterAppender 无法使用 XML,则进行编程配置。
【问题讨论】:
-
我尝试使用文档中为 ConsoleAppender 提供的配置,但由于目标类型不同,无法这样配置。
标签: java java-8 log4j log4j2 appender