Extract constant for Layout elementType.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8b8a1cfd Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8b8a1cfd Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8b8a1cfd Branch: refs/heads/master Commit: 8b8a1cfd2c29ec09d4a5e7cc1285ea03fbe9ba44 Parents: ad44a0a Author: Matt Sicker <[email protected]> Authored: Wed Sep 24 09:08:14 2014 -0500 Committer: Matt Sicker <[email protected]> Committed: Wed Sep 24 20:21:25 2014 -0500 ---------------------------------------------------------------------- .../java/org/apache/logging/log4j/core/Layout.java | 8 ++++++++ .../apache/logging/log4j/core/layout/GelfLayout.java | 14 ++++++++------ .../apache/logging/log4j/core/layout/HtmlLayout.java | 4 +++- .../apache/logging/log4j/core/layout/JsonLayout.java | 6 ++++-- .../logging/log4j/core/layout/LoggerFields.java | 3 ++- .../logging/log4j/core/layout/PatternLayout.java | 6 ++++-- .../logging/log4j/core/layout/Rfc5424Layout.java | 4 +++- .../logging/log4j/core/layout/SerializedLayout.java | 5 ++++- .../logging/log4j/core/layout/SyslogLayout.java | 4 +++- .../apache/logging/log4j/core/layout/XmlLayout.java | 4 +++- .../logging/log4j/core/layout/package-info.java | 6 +++++- 11 files changed, 47 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/Layout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/Layout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/Layout.java index 78ad558..287dea9 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/Layout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/Layout.java @@ -43,6 +43,14 @@ import java.util.Map; * byte arrays as character streams. */ public interface Layout<T extends Serializable> { + + /** + * Main plugin element type for Layout plugins. + * + * @since 2.1 + */ + String ELEMENT_TYPE = "layout"; + /** * Returns the format for the layout format. * @return The footer. http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java index e99e34d..47ceba6 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java @@ -28,7 +28,9 @@ import java.util.zip.DeflaterOutputStream; import java.util.zip.GZIPOutputStream; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; +import org.apache.logging.log4j.core.config.Node; 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.PluginElement; @@ -49,7 +51,7 @@ import com.fasterxml.jackson.core.io.JsonStringEncoder; * <p> * Configure as follows to send to a Graylog2 server: * </p> - * + * * <pre> * <Appenders> * <Socket name="Graylog" protocol="udp" host="graylog.domain.com" port="12201"> @@ -64,7 +66,7 @@ import com.fasterxml.jackson.core.io.JsonStringEncoder; * @see <a href="http://graylog2.org/gelf">GELF home page</a> * @see <a href="http://graylog2.org/resources/gelf/specification">GELF specification</a> */ -@Plugin(name = "GelfLayout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "GelfLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class GelfLayout extends AbstractStringLayout { public static enum CompressionType { @@ -101,13 +103,13 @@ public final class GelfLayout extends AbstractStringLayout { private static final BigDecimal TIME_DIVISOR = new BigDecimal(1000); @PluginFactory - public static GelfLayout createLayout( - //@formatter:off + public static GelfLayout createLayout( + //@formatter:off @PluginAttribute("host") final String host, @PluginElement("AdditionalField") final KeyValuePair[] additionalFields, - @PluginAttribute(value = "compressionThreshold", + @PluginAttribute(value = "compressionThreshold", defaultString = "GZIP") final CompressionType compressionType, - @PluginAttribute(value = "compressionThreshold", + @PluginAttribute(value = "compressionThreshold", defaultInt= COMPRESSION_THRESHOLD) final int compressionThreshold) { // @formatter:on return new GelfLayout(host, additionalFields, compressionType, compressionThreshold); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java index 199bfca..9346add 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java @@ -26,7 +26,9 @@ import java.lang.management.ManagementFactory; import java.nio.charset.Charset; import java.util.ArrayList; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; +import org.apache.logging.log4j.core.config.Node; 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.PluginBuilderAttribute; @@ -42,7 +44,7 @@ import org.apache.logging.log4j.core.util.Transform; * Appenders using this layout should have their encoding set to UTF-8 or UTF-16, otherwise events containing * non ASCII characters could result in corrupted log files. */ -@Plugin(name = "HtmlLayout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "HtmlLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class HtmlLayout extends AbstractStringLayout { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/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 8cae234..bda14ae 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 @@ -20,6 +20,8 @@ import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; +import org.apache.logging.log4j.core.Layout; +import org.apache.logging.log4j.core.config.Node; 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.PluginFactory; @@ -789,11 +791,11 @@ import org.apache.logging.log4j.core.util.Charsets; * may contain, of course, escaped end-of-lines. * </p> */ -@Plugin(name = "JsonLayout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "JsonLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class JsonLayout extends AbstractJacksonLayout { static final String CONTENT_TYPE = "application/json"; - + private static final long serialVersionUID = 1L; protected JsonLayout(final boolean locationInfo, final boolean properties, final boolean complete, final boolean compact, http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java index 5172296..65ed77a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import org.apache.logging.log4j.core.config.Node; 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.PluginElement; @@ -30,7 +31,7 @@ import org.apache.logging.log4j.message.StructuredDataId; /** * A LoggerFields container. */ -@Plugin(name = "LoggerFields", category = "Core", printObject = true) +@Plugin(name = "LoggerFields", category = Node.CATEGORY, printObject = true) public final class LoggerFields { private final Map<String, String> map; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java index 7f2e9d3..b8c6e18 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java @@ -21,9 +21,11 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.Configuration; import org.apache.logging.log4j.core.config.DefaultConfiguration; +import org.apache.logging.log4j.core.config.Node; 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.PluginBuilderAttribute; @@ -49,9 +51,9 @@ import org.apache.logging.log4j.core.pattern.RegexReplacement; * * See the Log4j Manual for details on the supported pattern converters. */ -@Plugin(name = "PatternLayout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "PatternLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class PatternLayout extends AbstractStringLayout { - + private static final long serialVersionUID = 1L; /** http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java index 7bd6b81..7df4672 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java @@ -30,9 +30,11 @@ import java.util.regex.Pattern; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LoggingException; +import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.appender.TlsSyslogFrame; import org.apache.logging.log4j.core.config.Configuration; +import org.apache.logging.log4j.core.config.Node; 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.PluginConfiguration; @@ -59,7 +61,7 @@ import org.apache.logging.log4j.util.Strings; * * @see <a href="https://tools.ietf.org/html/rfc5424">RFC 5424</a> */ -@Plugin(name = "Rfc5424Layout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "Rfc5424Layout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class Rfc5424Layout extends AbstractStringLayout { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SerializedLayout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SerializedLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SerializedLayout.java index e465339..e8fa142 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SerializedLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SerializedLayout.java @@ -20,14 +20,17 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.OutputStream; + +import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; +import org.apache.logging.log4j.core.config.Node; import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.config.plugins.PluginFactory; /** * Formats a {@link LogEvent} in its Java serialized form. */ -@Plugin(name = "SerializedLayout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "SerializedLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class SerializedLayout extends AbstractLayout<LogEvent> { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java index 0f09845..4463c23 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java @@ -25,7 +25,9 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; +import org.apache.logging.log4j.core.config.Node; 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.PluginFactory; @@ -37,7 +39,7 @@ import org.apache.logging.log4j.core.util.NetUtils; /** * Formats a log event as a BSD Log record. */ -@Plugin(name = "SyslogLayout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "SyslogLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class SyslogLayout extends AbstractStringLayout { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/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 402df6f..7f1a29e 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 @@ -20,6 +20,8 @@ import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; +import org.apache.logging.log4j.core.Layout; +import org.apache.logging.log4j.core.config.Node; 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.PluginFactory; @@ -184,7 +186,7 @@ import org.apache.logging.log4j.core.util.Charsets; * Message content may contain, of course, end-of-lines. * </p> */ -@Plugin(name = "XmlLayout", category = "Core", elementType = "layout", printObject = true) +@Plugin(name = "XmlLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public final class XmlLayout extends AbstractJacksonLayout { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b8a1cfd/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java index 0a22f9d..581c139 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java @@ -15,6 +15,10 @@ * limitations under the license. */ /** - * Log4j 2 Layout support. + * Log4j 2 Layout support. {@link org.apache.logging.log4j.core.Layout} plugins should use the + * {@linkplain org.apache.logging.log4j.core.config.plugins.Plugin#category() plugin category} + * {@link org.apache.logging.log4j.core.config.Node#CATEGORY Core} and the + * {@linkplain org.apache.logging.log4j.core.config.plugins.Plugin#elementType() element type} + * {@link org.apache.logging.log4j.core.Layout#ELEMENT_TYPE layout}. */ package org.apache.logging.log4j.core.layout;
