J'essaie d'utiliser StringWriter
comme Target
pour WriterAppender
. Une fois que j'ai écrit mes journaux à StringWriter
, je veux envoyer ces journaux comme réponse de ma méthode.Comment configurer WriterAppender dans log4j2 xml?
Mon log4j2.xml actuelle -
<?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>
Cela me donne ci-dessous erreur -
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)
Je cherche configuration XML correct (préféré) Si XML est impossible pour WriterAppender
alors programmatique configuration.
J'ai essayé d'utiliser la configuration fournie pour ConsoleAppender dans les documentations, mais je n'ai pas pu la configurer de cette façon en raison de différents types de cibles. –