Mauro Molinari created LOG4J2-1957:
--------------------------------------
Summary: WriterAppender: clarify its usage
Key: LOG4J2-1957
URL: https://issues.apache.org/jira/browse/LOG4J2-1957
Project: Log4j 2
Issue Type: Bug
Components: Appenders
Affects Versions: 2.8.1
Reporter: Mauro Molinari
I need to create a custom appender, but I see that a {{WriterAppender}} already
exists. It would fit my needs, but I'm hitting some difficulties:
* the documentation at
http://logging.apache.org/log4j/2.x/manual/appenders.html does not mention it
* if I define in my XML something like this:
{code:xml}
<Writer name="writer" target="java.io.StringWriter">
<Layout type="PatternLayout" pattern="[%-5p] %d{yyyy/MM/dd HH:mm:ss} -
%t - %c - %m%n" />
</Writer>
{code}
no field is injected in the builder that builds the appender (because fields
are not annotated) and errors like the following are printed:
{noformat}
2017-06-26 15:01:04,755 main ERROR Writer contains invalid attributes "name",
"target"
2017-06-26 15:01:05,123 main ERROR appender Writer has no parameter that
matches element PatternLayout
{noformat}
* {{org.apache.logging.log4j.core.appender.WriterAppender}} is final, so I
can't extend it to provide my own appender configurable through XML
IMHO it would be useful to be able to configure a {{WriterAppender}} through
XML by specifying the target as a fully qualified class name of my own
{{Writer}} implementation.
If you however want to keep {{WriterAppender}} as something that cannot be
configured via XML, an example in the documentation of how to use it in a
typical use case via programmatic configuration would be useful.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)