Repository: logging-log4j2 Updated Branches: refs/heads/LOG4J2-1694 c09c4b1fe -> dbd2d252a
LOG4J2-1694 Remove additionalFields Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/dbd2d252 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/dbd2d252 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/dbd2d252 Branch: refs/heads/LOG4J2-1694 Commit: dbd2d252a1b4139a9bd9eb213c89f28498db6dcf Parents: c09c4b1 Author: Mikael Ståldal <mikael.stal...@magine.com> Authored: Fri Apr 28 16:32:28 2017 +0200 Committer: Mikael Ståldal <mikael.stal...@magine.com> Committed: Fri Apr 28 16:32:28 2017 +0200 ---------------------------------------------------------------------- .../core/layout/AbstractJacksonLayout.java | 41 +------------------- .../logging/log4j/core/layout/JsonLayout.java | 23 ++--------- .../logging/log4j/core/layout/XmlLayout.java | 13 +++---- .../logging/log4j/core/layout/YamlLayout.java | 22 ++--------- src/changes/changes.xml | 3 -- 5 files changed, 15 insertions(+), 87 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dbd2d252/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractJacksonLayout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractJacksonLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractJacksonLayout.java index 172cf14..5d0252f 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractJacksonLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractJacksonLayout.java @@ -23,9 +23,7 @@ import java.nio.charset.Charset; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.Configuration; import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute; -import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.impl.MutableLogEvent; -import org.apache.logging.log4j.core.util.KeyValuePair; import org.apache.logging.log4j.core.util.StringBuilderWriter; import org.apache.logging.log4j.util.Strings; @@ -58,9 +56,6 @@ abstract class AbstractJacksonLayout extends AbstractStringLayout { @PluginBuilderAttribute private boolean includeStacktrace = true; - @PluginElement("AdditionalField") - private KeyValuePair[] additionalFields; - protected String toStringOrNull(final byte[] header) { return header == null ? null : new String(header, Charset.defaultCharset()); } @@ -93,10 +88,6 @@ abstract class AbstractJacksonLayout extends AbstractStringLayout { return includeStacktrace; } - public KeyValuePair[] getAdditionalFields() { - return additionalFields; - } - public B setEventEol(final boolean eventEol) { this.eventEol = eventEol; return asBuilder(); @@ -131,51 +122,21 @@ abstract class AbstractJacksonLayout extends AbstractStringLayout { this.includeStacktrace = includeStacktrace; return asBuilder(); } - - /** - * Additional fields to set on each log event. - * - * @return this builder - */ - public B setAdditionalFields(KeyValuePair[] additionalFields) { - this.additionalFields = additionalFields; - return asBuilder(); - } } protected final String eol; protected final ObjectWriter objectWriter; protected final boolean compact; protected final boolean complete; - protected final KeyValuePair[] additionalFields; - - @Deprecated - protected AbstractJacksonLayout(final Configuration config, final ObjectWriter objectWriter, final Charset charset, - final boolean compact, final boolean complete, final boolean eventEol, final Serializer headerSerializer, - final Serializer footerSerializer) { - this(config, objectWriter, charset, compact, complete, eventEol, headerSerializer, footerSerializer, null); - } protected AbstractJacksonLayout(final Configuration config, final ObjectWriter objectWriter, final Charset charset, final boolean compact, final boolean complete, final boolean eventEol, final Serializer headerSerializer, - final Serializer footerSerializer, final KeyValuePair[] additionalFields) { + final Serializer footerSerializer) { super(config, charset, headerSerializer, footerSerializer); this.objectWriter = objectWriter; this.compact = compact; this.complete = complete; this.eol = compact && !eventEol ? COMPACT_EOL : DEFAULT_EOL; - this.additionalFields = additionalFields != null ? additionalFields : new KeyValuePair[0]; - if (config == null) { - for (KeyValuePair additionalField : this.additionalFields) { - if (valueNeedsLookup(additionalField.getValue())) { - throw new IllegalArgumentException("configuration needs to be set when there are additional fields with variables"); - } - } - } - } - - protected static boolean valueNeedsLookup(final String value) { - return value != null && value.contains("${"); } /** http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dbd2d252/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 a24e460..3b968b4 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 @@ -33,7 +33,6 @@ import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; -import org.apache.logging.log4j.core.util.KeyValuePair; /** * Appends a series of JSON events as strings serialized as bytes. @@ -86,7 +85,7 @@ public final class JsonLayout extends AbstractJacksonLayout { final String headerPattern = toStringOrNull(getHeader()); final String footerPattern = toStringOrNull(getFooter()); return new JsonLayout(getConfiguration(), isLocationInfo(), isProperties(), encodeThreadContextAsList, isComplete(), - isCompact(), getEventEol(), headerPattern, footerPattern, getCharset(), isIncludeStacktrace(), getAdditionalFields()); + isCompact(), getEventEol(), headerPattern, footerPattern, getCharset(), isIncludeStacktrace()); } public boolean isPropertiesAsList() { @@ -99,29 +98,15 @@ 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) { - this(config, locationInfo, properties, encodeThreadContextAsList, complete, compact, eventEol, - headerPattern, footerPattern, charset, includeStacktrace, null); - } - - 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 KeyValuePair[] additionalFields) { super(config, new JacksonFactory.JSON(encodeThreadContextAsList, includeStacktrace).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(), - additionalFields); + PatternLayout.newSerializerBuilder().setConfiguration(config).setPattern(footerPattern).setDefaultPattern(DEFAULT_FOOTER).build()); } /** @@ -228,7 +213,7 @@ public final class JsonLayout extends AbstractJacksonLayout { ) { final boolean encodeThreadContextAsList = properties && propertiesAsList; return new JsonLayout(config, locationInfo, properties, encodeThreadContextAsList, complete, compact, eventEol, - headerPattern, footerPattern, charset, includeStacktrace, null); + headerPattern, footerPattern, charset, includeStacktrace); } @PluginBuilderFactory @@ -243,7 +228,7 @@ public final class JsonLayout extends AbstractJacksonLayout { */ public static JsonLayout createDefaultLayout() { return new JsonLayout(new DefaultConfiguration(), false, false, false, false, false, false, - DEFAULT_HEADER, DEFAULT_FOOTER, StandardCharsets.UTF_8, true, null); + DEFAULT_HEADER, DEFAULT_FOOTER, StandardCharsets.UTF_8, true); } @Override http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dbd2d252/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 f7f667c..49de181 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 @@ -28,7 +28,6 @@ import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.jackson.XmlConstants; -import org.apache.logging.log4j.core.util.KeyValuePair; /** * Appends a series of {@code event} elements as defined in the <a href="log4j.dtd">log4j.dtd</a>. @@ -70,7 +69,7 @@ public final class XmlLayout extends AbstractJacksonLayout { @Override public XmlLayout build() { return new XmlLayout(getConfiguration(), isLocationInfo(), isProperties(), isComplete(), - isCompact(), getCharset(), isIncludeStacktrace(), getAdditionalFields()); + isCompact(), getCharset(), isIncludeStacktrace()); } } @@ -80,14 +79,14 @@ 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) { - this(null, locationInfo, properties, complete, compact, charset, includeStacktrace, null); + this(null, locationInfo, properties, complete, compact, charset, includeStacktrace); } private XmlLayout(final Configuration config, final boolean locationInfo, final boolean properties, final boolean complete, final boolean compact, final Charset charset, - final boolean includeStacktrace, final KeyValuePair[] additionalFields) { + final boolean includeStacktrace) { super(config, new JacksonFactory.XML(includeStacktrace).newWriter( - locationInfo, properties, compact), charset, compact, complete, false, null, null, additionalFields); + locationInfo, properties, compact), charset, compact, complete, false, null, null); } /** @@ -181,7 +180,7 @@ public final class XmlLayout extends AbstractJacksonLayout { @PluginAttribute(value = "includeStacktrace", defaultBoolean = true) final boolean includeStacktrace) // @formatter:on { - return new XmlLayout(null, locationInfo, properties, complete, compact, charset, includeStacktrace, null); + return new XmlLayout(null, locationInfo, properties, complete, compact, charset, includeStacktrace); } @PluginBuilderFactory @@ -195,6 +194,6 @@ public final class XmlLayout extends AbstractJacksonLayout { * @return an XML Layout. */ public static XmlLayout createDefaultLayout() { - return new XmlLayout(null, false, false, false, false, StandardCharsets.UTF_8, true, null); + return new XmlLayout(null, false, false, false, false, StandardCharsets.UTF_8, true); } } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dbd2d252/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 2db9765..bf8786b 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 @@ -29,7 +29,6 @@ import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; -import org.apache.logging.log4j.core.util.KeyValuePair; import org.apache.logging.log4j.util.Strings; /** @@ -63,30 +62,17 @@ public final class YamlLayout extends AbstractJacksonLayout { final String headerPattern = toStringOrNull(getHeader()); final String footerPattern = toStringOrNull(getFooter()); return new YamlLayout(getConfiguration(), isLocationInfo(), isProperties(), isComplete(), - isCompact(), getEventEol(), headerPattern, footerPattern, getCharset(), isIncludeStacktrace(), - getAdditionalFields()); + isCompact(), getEventEol(), headerPattern, footerPattern, getCharset(), isIncludeStacktrace()); } } - /** - * @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) { - this(config, locationInfo, properties, complete, compact, eventEol, headerPattern, footerPattern, charset, includeStacktrace, null); - } - - 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 KeyValuePair[] additionalFields) { super(config, new JacksonFactory.YAML(includeStacktrace).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(), - additionalFields); + PatternLayout.newSerializerBuilder().setConfiguration(config).setPattern(footerPattern).setDefaultPattern(DEFAULT_FOOTER).build()); } /** @@ -177,7 +163,7 @@ public final class YamlLayout extends AbstractJacksonLayout { // @formatter:on ) { return new YamlLayout(config, locationInfo, properties, false, false, true, headerPattern, footerPattern, - charset, includeStacktrace, null); + charset, includeStacktrace); } @PluginBuilderFactory @@ -192,6 +178,6 @@ public final class YamlLayout extends AbstractJacksonLayout { */ public static AbstractJacksonLayout createDefaultLayout() { return new YamlLayout(new DefaultConfiguration(), false, false, false, false, false, DEFAULT_HEADER, - DEFAULT_FOOTER, StandardCharsets.UTF_8, true, null); + DEFAULT_FOOTER, StandardCharsets.UTF_8, true); } } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dbd2d252/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index b7ca09b..379c21e 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -31,9 +31,6 @@ - "remove" - Removed --> <release version="2.9.0" date="2017-MM-DD" description="GA Release 2.9.0"> - <action issue="LOG4J2-1694" dev="mikes" type="add" due-to="Raimar Falke"> - Allow additional fields in JSON/XML/YAML layouts. - </action> <action issue="LOG4J2-1854" dev="mikes" type="add" due-to="Xavier Jodoin"> Support null byte delimiter in GelfLayout. </action>