You can remove the annotations on the deprecated factories. They won't be
scanned when a builder class is present.

On 7 July 2017 at 15:43, <[email protected]> wrote:

> LOG4J2-1923 Maintain binary compatibility
>
>
> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/
> commit/2ac966f1
> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2ac966f1
> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2ac966f1
>
> Branch: refs/heads/master
> Commit: 2ac966f1ff8e1e72b22880e0ca2d524aafdeaaf8
> Parents: 0b8f743
> Author: Mikael Ståldal <[email protected]>
> Authored: Fri Jul 7 21:41:12 2017 +0200
> Committer: Mikael Ståldal <[email protected]>
> Committed: Fri Jul 7 21:41:12 2017 +0200
>
> ----------------------------------------------------------------------
>  .../logging/log4j/core/layout/JsonLayout.java   | 22 ++++++++++++----
>  .../logging/log4j/core/layout/XmlLayout.java    | 10 +++-----
>  .../logging/log4j/core/layout/YamlLayout.java   | 20 +++++++++++----
>  .../log4j/core/layout/XmlLayoutTest.java        | 27 +++++++++++++++++---
>  .../log4j/core/layout/YamlLayoutTest.java       | 26 ++++++++++++++-----
>  5 files changed, 80 insertions(+), 25 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 2ac966f1/log4j-core/src/main/java/org/apache/logging/log4j/
> core/layout/JsonLayout.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/JsonLayout.java
> index acf511f..aa12a0f 100644
> --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/JsonLayout.java
> +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/JsonLayout.java
> @@ -98,9 +98,24 @@ public final class JsonLayout extends
> AbstractJacksonLayout {
>          }
>      }
>
> +    /**
> +     * @deprecated Use {@link #newBuilder()} instead
> +     */
> +    @Deprecated
>      protected JsonLayout(final Configuration config, final boolean
> locationInfo, final boolean properties,
>              final boolean encodeThreadContextAsList,
>              final boolean complete, final boolean compact, final boolean
> eventEol, final String headerPattern,
> +            final String footerPattern, final Charset charset, final
> boolean includeStacktrace) {
> +        super(config, new JacksonFactory.JSON(encodeThreadContextAsList,
> includeStacktrace, false).newWriter(
> +            locationInfo, properties, compact),
> +            charset, compact, complete, eventEol,
> +            PatternLayout.newSerializerBuilder().
> setConfiguration(config).setPattern(headerPattern).
> setDefaultPattern(DEFAULT_HEADER).build(),
> +            PatternLayout.newSerializerBuilder().
> setConfiguration(config).setPattern(footerPattern).
> setDefaultPattern(DEFAULT_FOOTER).build());
> +    }
> +
> +    private JsonLayout(final Configuration config, final boolean
> locationInfo, final boolean properties,
> +            final boolean encodeThreadContextAsList,
> +            final boolean complete, final boolean compact, final boolean
> eventEol, final String headerPattern,
>              final String footerPattern, final Charset charset, final
> boolean includeStacktrace, final boolean stacktraceAsString) {
>          super(config, new JacksonFactory.JSON(encodeThreadContextAsList,
> includeStacktrace, stacktraceAsString).newWriter(
>              locationInfo, properties, compact),
> @@ -191,8 +206,6 @@ public final class JsonLayout extends
> AbstractJacksonLayout {
>       *            The character set to use, if {@code null}, uses "UTF-8".
>       * @param includeStacktrace
>       *            If "true", includes the stacktrace of any Throwable in
> the generated JSON, defaults to "true".
> -     * @param stacktraceAsString
> -     *            If "true", the stacktrace will be rendered as string,
> and not nested object, defaults to "false".
>       * @return A JSON Layout.
>       *
>       * @deprecated Use {@link #newBuilder()} instead
> @@ -210,13 +223,12 @@ public final class JsonLayout extends
> AbstractJacksonLayout {
>              @PluginAttribute(value = "header", defaultString =
> DEFAULT_HEADER) final String headerPattern,
>              @PluginAttribute(value = "footer", defaultString =
> DEFAULT_FOOTER) final String footerPattern,
>              @PluginAttribute(value = "charset", defaultString = "UTF-8")
> final Charset charset,
> -            @PluginAttribute(value = "includeStacktrace", defaultBoolean
> = true) final boolean includeStacktrace,
> -            @PluginAttribute(value = "stacktraceAsString", defaultBoolean
> = false) final boolean stacktraceAsString
> +            @PluginAttribute(value = "includeStacktrace", defaultBoolean
> = true) final boolean includeStacktrace
>              // @formatter:on
>      ) {
>          final boolean encodeThreadContextAsList = properties &&
> propertiesAsList;
>          return new JsonLayout(config, locationInfo, properties,
> encodeThreadContextAsList, complete, compact, eventEol,
> -                headerPattern, footerPattern, charset, includeStacktrace,
> stacktraceAsString);
> +                headerPattern, footerPattern, charset, includeStacktrace,
> false);
>      }
>
>      @PluginBuilderFactory
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 2ac966f1/log4j-core/src/main/java/org/apache/logging/log4j/
> core/layout/XmlLayout.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/XmlLayout.java
> index 49641f1..3757d45 100644
> --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/XmlLayout.java
> +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/XmlLayout.java
> @@ -78,8 +78,8 @@ public final class XmlLayout extends
> AbstractJacksonLayout {
>       */
>      @Deprecated
>      protected XmlLayout(final boolean locationInfo, final boolean
> properties, final boolean complete,
> -                        final boolean compact, final Charset charset,
> final boolean includeStacktrace, final boolean stacktraceAsString) {
> -        this(null, locationInfo, properties, complete, compact, charset,
> includeStacktrace, stacktraceAsString);
> +                        final boolean compact, final Charset charset,
> final boolean includeStacktrace) {
> +        this(null, locationInfo, properties, complete, compact, charset,
> includeStacktrace, false);
>      }
>
>      private XmlLayout(final Configuration config, final boolean
> locationInfo, final boolean properties,
> @@ -165,7 +165,6 @@ public final class XmlLayout extends
> AbstractJacksonLayout {
>       * @param charset The character set to use, if {@code null}, uses
> "UTF-8".
>       * @param includeStacktrace
>       *            If "true", includes the stacktrace of any Throwable in
> the generated XML, defaults to "true".
> -     * @param stacktraceAsString If "true", the stacktrace will be
> rendered as string, and not nested object, defaults to "false".
>       * @return An XML Layout.
>       *
>       * @deprecated Use {@link #newBuilder()} instead
> @@ -178,12 +177,11 @@ public final class XmlLayout extends
> AbstractJacksonLayout {
>              @PluginAttribute(value = "complete") final boolean complete,
>              @PluginAttribute(value = "compact") final boolean compact,
>              @PluginAttribute(value = "charset", defaultString = "UTF-8")
> final Charset charset,
> -            @PluginAttribute(value = "includeStacktrace", defaultBoolean
> = true) final boolean includeStacktrace,
> -            @PluginAttribute(value = "stacktraceAsString", defaultBoolean
> = false) final boolean stacktraceAsString
> +            @PluginAttribute(value = "includeStacktrace", defaultBoolean
> = true) final boolean includeStacktrace
>      )
>              // @formatter:on
>      {
> -        return new XmlLayout(null, locationInfo, properties, complete,
> compact, charset, includeStacktrace, stacktraceAsString);
> +        return new XmlLayout(null, locationInfo, properties, complete,
> compact, charset, includeStacktrace, false);
>      }
>
>      @PluginBuilderFactory
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 2ac966f1/log4j-core/src/main/java/org/apache/logging/log4j/
> core/layout/YamlLayout.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/YamlLayout.java
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/YamlLayout.java
> index 40188b3..7cfca20 100644
> --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/YamlLayout.java
> +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> layout/YamlLayout.java
> @@ -66,8 +66,21 @@ public final class YamlLayout extends
> AbstractJacksonLayout {
>          }
>      }
>
> +    /**
> +     * @deprecated Use {@link #newBuilder()} instead
> +     */
> +    @Deprecated
>      protected YamlLayout(final Configuration config, final boolean
> locationInfo, final boolean properties,
>              final boolean complete, final boolean compact, final boolean
> eventEol, final String headerPattern,
> +            final String footerPattern, final Charset charset, final
> boolean includeStacktrace) {
> +        super(config, new JacksonFactory.YAML(includeStacktrace,
> false).newWriter(locationInfo, properties, compact), charset, compact,
> +            complete, eventEol,
> +            PatternLayout.newSerializerBuilder().
> setConfiguration(config).setPattern(headerPattern).
> setDefaultPattern(DEFAULT_HEADER).build(),
> +            PatternLayout.newSerializerBuilder().
> setConfiguration(config).setPattern(footerPattern).
> setDefaultPattern(DEFAULT_FOOTER).build());
> +    }
> +
> +    private YamlLayout(final Configuration config, final boolean
> locationInfo, final boolean properties,
> +            final boolean complete, final boolean compact, final boolean
> eventEol, final String headerPattern,
>              final String footerPattern, final Charset charset, final
> boolean includeStacktrace, final boolean stacktraceAsString) {
>          super(config, new JacksonFactory.YAML(includeStacktrace,
> stacktraceAsString).newWriter(locationInfo, properties, compact),
> charset, compact,
>              complete, eventEol,
> @@ -146,8 +159,6 @@ public final class YamlLayout extends
> AbstractJacksonLayout {
>       *            The character set to use, if {@code null}, uses "UTF-8".
>       * @param includeStacktrace
>       *            If "true", includes the stacktrace of any Throwable in
> the generated YAML, defaults to "true".
> -     * @param stacktraceAsString
> -     *            If "true", the stacktrace will be rendered as string,
> and not nested object, defaults to "false".
>       * @return A YAML Layout.
>       *
>       * @deprecated Use {@link #newBuilder()} instead
> @@ -161,12 +172,11 @@ public final class YamlLayout extends
> AbstractJacksonLayout {
>              @PluginAttribute(value = "header", defaultString =
> DEFAULT_HEADER) final String headerPattern,
>              @PluginAttribute(value = "footer", defaultString =
> DEFAULT_FOOTER) final String footerPattern,
>              @PluginAttribute(value = "charset", defaultString = "UTF-8")
> final Charset charset,
> -            @PluginAttribute(value = "includeStacktrace", defaultBoolean
> = true) final boolean includeStacktrace,
> -            @PluginAttribute(value = "stacktraceAsString", defaultBoolean
> = false) final boolean stacktraceAsString
> +            @PluginAttribute(value = "includeStacktrace", defaultBoolean
> = true) final boolean includeStacktrace
>              // @formatter:on
>      ) {
>          return new YamlLayout(config, locationInfo, properties, false,
> false, true, headerPattern, footerPattern,
> -                charset, includeStacktrace, stacktraceAsString);
> +                charset, includeStacktrace, false);
>      }
>
>      @PluginBuilderFactory
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 2ac966f1/log4j-core/src/test/java/org/apache/logging/log4j/
> core/layout/XmlLayoutTest.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/XmlLayoutTest.java
> b/log4j-core/src/test/java/org/apache/logging/log4j/core/
> layout/XmlLayoutTest.java
> index bf367e5..978107f 100644
> --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/
> layout/XmlLayoutTest.java
> +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/
> layout/XmlLayoutTest.java
> @@ -128,7 +128,14 @@ public class XmlLayoutTest {
>      private void testAllFeatures(final boolean includeSource, final
> boolean compact, final boolean includeContext, final boolean
> includeStacktrace) throws IOException,
>              JsonParseException, JsonMappingException {
>          final Log4jLogEvent expected = LogEventFixtures.createLogEvent();
> -        final XmlLayout layout = XmlLayout.createLayout(includeSource,
> includeContext, false, compact, StandardCharsets.UTF_8, includeStacktrace,
> false);
> +        final XmlLayout layout = XmlLayout.newBuilder()
> +                .setLocationInfo(includeSource)
> +                .setProperties(includeContext)
> +                .setComplete(false)
> +                .setCompact(compact)
> +                .setIncludeStacktrace(includeStacktrace)
> +                .setCharset(StandardCharsets.UTF_8)
> +                .build();
>          final String str = layout.toSerializable(expected);
>          // System.out.println(str);
>          assertEquals(str, !compact, str.contains("\n"));
> @@ -222,7 +229,14 @@ public class XmlLayoutTest {
>              this.rootLogger.removeAppender(appender);
>          }
>          // set up appender
> -        final XmlLayout layout = XmlLayout.createLayout(true, true, true,
> false, null, true, false);
> +        final XmlLayout layout = XmlLayout.newBuilder()
> +                .setLocationInfo(true)
> +                .setProperties(true)
> +                .setComplete(true)
> +                .setCompact(false)
> +                .setIncludeStacktrace(true)
> +                .build();
> +
>          final ListAppender appender = new ListAppender("List", null,
> layout, true, false);
>          appender.start();
>
> @@ -271,7 +285,14 @@ public class XmlLayoutTest {
>
>      @Test
>      public void testLayoutLoggerName() {
> -        final XmlLayout layout = XmlLayout.createLayout(false, true,
> true, false, null, true, false);
> +        final XmlLayout layout = XmlLayout.newBuilder()
> +                .setLocationInfo(false)
> +                .setProperties(true)
> +                .setComplete(true)
> +                .setCompact(false)
> +                .setIncludeStacktrace(true)
> +                .build();
> +
>          final Log4jLogEvent event = Log4jLogEvent.newBuilder() //
>                  .setLoggerName("a.B") //
>                  .setLoggerFqcn("f.q.c.n") //
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 2ac966f1/log4j-core/src/test/java/org/apache/logging/log4j/
> core/layout/YamlLayoutTest.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/YamlLayoutTest.java
> b/log4j-core/src/test/java/org/apache/logging/log4j/core/
> layout/YamlLayoutTest.java
> index 2e8c1d1..d46bce6 100644
> --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/
> layout/YamlLayoutTest.java
> +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/
> layout/YamlLayoutTest.java
> @@ -115,8 +115,12 @@ public class YamlLayoutTest {
>      private void testAllFeatures(final boolean includeSource, final
> boolean compact, final boolean eventEol,
>              final boolean includeContext, final boolean contextMapAslist,
> final boolean includeStacktrace) throws Exception {
>          final Log4jLogEvent expected = LogEventFixtures.createLogEvent();
> -        final AbstractJacksonLayout layout =
> YamlLayout.createLayout(null, includeSource, includeContext, null, null,
> -                StandardCharsets.UTF_8, includeStacktrace, false);
> +        final AbstractJacksonLayout layout = YamlLayout.newBuilder()
> +                .setLocationInfo(includeSource)
> +                .setProperties(includeContext)
> +                .setIncludeStacktrace(includeStacktrace)
> +                .setCharset(StandardCharsets.UTF_8)
> +                .build();
>          final String str = layout.toSerializable(expected);
>          // System.out.println(str);
>          // Just check for \n since \r might or might not be there.
> @@ -195,7 +199,13 @@ public class YamlLayoutTest {
>          }
>          final Configuration configuration = rootLogger.getContext().
> getConfiguration();
>          // set up appender
> -        final AbstractJacksonLayout layout = 
> YamlLayout.createLayout(configuration,
> true, true, null, null, null, true, false);
> +        final AbstractJacksonLayout layout = YamlLayout.newBuilder()
> +                .setLocationInfo(true)
> +                .setProperties(true)
> +                .setIncludeStacktrace(true)
> +                .setConfiguration(configuration)
> +                .build();
> +
>          final ListAppender appender = new ListAppender("List", null,
> layout, true, false);
>          appender.start();
>
> @@ -231,7 +241,7 @@ public class YamlLayoutTest {
>          final Configuration configuration = rootLogger.getContext().
> getConfiguration();
>          // set up appender
>          // Use [[ and ]] to test header and footer (instead of [ and ])
> -        final AbstractJacksonLayout layout = 
> YamlLayout.createLayout(configuration,
> true, true, "[[", "]]", null, true, false);
> +        final AbstractJacksonLayout layout = 
> YamlLayout.createLayout(configuration,
> true, true, "[[", "]]", null, true);
>          final ListAppender appender = new ListAppender("List", null,
> layout, true, false);
>          appender.start();
>
> @@ -269,8 +279,12 @@ public class YamlLayoutTest {
>
>      @Test
>      public void testLayoutLoggerName() throws Exception {
> -        final AbstractJacksonLayout layout =
> YamlLayout.createLayout(null, false, false, null, null,
> -                StandardCharsets.UTF_8, true, false);
> +        final AbstractJacksonLayout layout = YamlLayout.newBuilder()
> +                .setLocationInfo(false)
> +                .setProperties(false)
> +                .setIncludeStacktrace(true)
> +                .setCharset(StandardCharsets.UTF_8)
> +                .build();
>          final Log4jLogEvent expected = Log4jLogEvent.newBuilder() //
>                  .setLoggerName("a.B") //
>                  .setLoggerFqcn("f.q.c.n") //
>
>


-- 
Matt Sicker <[email protected]>

Reply via email to