Class YamlLayout
- java.lang.Object
-
- org.apache.logging.log4j.core.layout.AbstractLayout<java.lang.String>
-
- org.apache.logging.log4j.core.layout.AbstractStringLayout
-
- org.apache.logging.log4j.core.layout.YamlLayout
-
- All Implemented Interfaces:
Layout<java.lang.String>,Encoder<LogEvent>,StringLayout
@Plugin(name="YamlLayout", category="Core", elementType="layout", printObject=true) public final class YamlLayout extends AbstractStringLayout
Appends a series of YAML events as strings serialized as bytes.Encoding
Appenders using this layout should have their
charsetset toUTF-8orUTF-16, otherwise events containing non ASCII characters could result in corrupted log files.Additional Fields
This property allows addition of custom fields into generated JSON.
<YamlLayout><KeyValuePair key="foo" value="bar"/></YamlLayout>insertsfoo: "bar"directly into YAML output. Supports Lookup expressions.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classYamlLayout.Builder<B extends YamlLayout.Builder<B>>-
Nested classes/interfaces inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout
AbstractStringLayout.Serializer, AbstractStringLayout.Serializer2
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.logging.log4j.core.layout.AbstractJacksonLayout.ResolvableKeyValuePair[]additionalFieldsprotected booleancompactprotected static java.lang.StringCOMPACT_EOLprotected booleancompleteprotected static java.lang.StringDEFAULT_EOLprotected java.lang.Stringeolprotected booleanincludeNullDelimiterprotected com.fasterxml.jackson.databind.ObjectWriterobjectWriter-
Fields inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout
DEFAULT_STRING_BUILDER_SIZE, MAX_STRING_BUILDER_SIZE
-
Fields inherited from class org.apache.logging.log4j.core.layout.AbstractLayout
configuration, eventCount, footer, header, LOGGER
-
Fields inherited from interface org.apache.logging.log4j.core.Layout
ELEMENT_TYPE
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedYamlLayout(Configuration config, boolean locationInfo, boolean properties, boolean complete, boolean compact, boolean eventEol, java.lang.String headerPattern, java.lang.String footerPattern, java.nio.charset.Charset charset, boolean includeStacktrace)Deprecated.UsenewBuilder()instead
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static org.apache.logging.log4j.core.layout.AbstractJacksonLayoutcreateDefaultLayout()Creates a YAML Layout using the default settings.static org.apache.logging.log4j.core.layout.AbstractJacksonLayoutcreateLayout(Configuration config, boolean locationInfo, boolean properties, java.lang.String headerPattern, java.lang.String footerPattern, java.nio.charset.Charset charset, boolean includeStacktrace)Deprecated.UsenewBuilder()insteadjava.util.Map<java.lang.String,java.lang.String>getContentFormat()Returns a description of the content format.java.lang.StringgetContentType()Returns the content type output by this layout.byte[]getFooter()Returns appropriate YAML footer.byte[]getHeader()Returns appropriate YAML header.static <B extends YamlLayout.Builder<B>>
BnewBuilder()java.lang.StringtoSerializable(LogEvent event)Formats aLogEvent.voidtoSerializable(LogEvent event, java.io.Writer writer)protected static booleanvalueNeedsLookup(java.lang.String value)protected java.lang.ObjectwrapLogEvent(LogEvent event)-
Methods inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout
getBytes, getCharset, getFooterSerializer, getHeaderSerializer, getStringBuilder, getStringBuilderEncoder, serializeToBytes, serializeToString, toByteArray, trimToMaxSize
-
Methods inherited from class org.apache.logging.log4j.core.layout.AbstractLayout
encode, getConfiguration, markEvent
-
-
-
-
Field Detail
-
DEFAULT_EOL
protected static final java.lang.String DEFAULT_EOL
- See Also:
- Constant Field Values
-
COMPACT_EOL
protected static final java.lang.String COMPACT_EOL
- See Also:
- Constant Field Values
-
eol
protected final java.lang.String eol
-
objectWriter
protected final com.fasterxml.jackson.databind.ObjectWriter objectWriter
-
compact
protected final boolean compact
-
complete
protected final boolean complete
-
includeNullDelimiter
protected final boolean includeNullDelimiter
-
additionalFields
protected final org.apache.logging.log4j.core.layout.AbstractJacksonLayout.ResolvableKeyValuePair[] additionalFields
-
-
Constructor Detail
-
YamlLayout
@Deprecated protected YamlLayout(Configuration config, boolean locationInfo, boolean properties, boolean complete, boolean compact, boolean eventEol, java.lang.String headerPattern, java.lang.String footerPattern, java.nio.charset.Charset charset, boolean includeStacktrace)
Deprecated.UsenewBuilder()instead
-
-
Method Detail
-
getHeader
public byte[] getHeader()
Returns appropriate YAML header.- Specified by:
getHeaderin interfaceLayout<java.lang.String>- Overrides:
getHeaderin classAbstractStringLayout- Returns:
- a byte array containing the header, opening the YAML array.
-
getFooter
public byte[] getFooter()
Returns appropriate YAML footer.- Specified by:
getFooterin interfaceLayout<java.lang.String>- Overrides:
getFooterin classAbstractStringLayout- Returns:
- a byte array containing the footer, closing the YAML array.
-
getContentFormat
public java.util.Map<java.lang.String,java.lang.String> getContentFormat()
Description copied from interface:LayoutReturns a description of the content format.- Specified by:
getContentFormatin interfaceLayout<java.lang.String>- Overrides:
getContentFormatin classAbstractLayout<java.lang.String>- Returns:
- a Map of key/value pairs describing the Layout-specific content format, or an empty Map if no content format descriptors are specified.
-
getContentType
public java.lang.String getContentType()
Description copied from interface:LayoutReturns the content type output by this layout. The base class returns "text/plain".- Specified by:
getContentTypein interfaceLayout<java.lang.String>- Overrides:
getContentTypein classAbstractStringLayout- Returns:
- The content type.
-
createLayout
@Deprecated public static org.apache.logging.log4j.core.layout.AbstractJacksonLayout createLayout(Configuration config, boolean locationInfo, boolean properties, java.lang.String headerPattern, java.lang.String footerPattern, java.nio.charset.Charset charset, boolean includeStacktrace)
Deprecated.UsenewBuilder()insteadCreates a YAML Layout.- Parameters:
config- The plugin configuration.locationInfo- If "true", includes the location information in the generated YAML.properties- If "true", includes the thread context map in the generated YAML.headerPattern- The header pattern, defaults to""if null.footerPattern- The header pattern, defaults to""if null.charset- The character set to use, ifnull, uses "UTF-8".includeStacktrace- If "true", includes the stacktrace of any Throwable in the generated YAML, defaults to "true".- Returns:
- A YAML Layout.
-
newBuilder
@PluginBuilderFactory public static <B extends YamlLayout.Builder<B>> B newBuilder()
-
createDefaultLayout
public static org.apache.logging.log4j.core.layout.AbstractJacksonLayout createDefaultLayout()
Creates a YAML Layout using the default settings. Useful for testing.- Returns:
- A YAML Layout.
-
valueNeedsLookup
protected static boolean valueNeedsLookup(java.lang.String value)
-
toSerializable
public java.lang.String toSerializable(LogEvent event)
Formats aLogEvent.- Parameters:
event- The LogEvent.- Returns:
- The XML representation of the LogEvent.
-
wrapLogEvent
protected java.lang.Object wrapLogEvent(LogEvent event)
-
toSerializable
public void toSerializable(LogEvent event, java.io.Writer writer) throws com.fasterxml.jackson.core.JsonGenerationException, com.fasterxml.jackson.databind.JsonMappingException, java.io.IOException
- Throws:
com.fasterxml.jackson.core.JsonGenerationExceptioncom.fasterxml.jackson.databind.JsonMappingExceptionjava.io.IOException
-
-