@Plugin(name="YamlLayout", category="Core", elementType="layout", printObject=true) public final class YamlLayout extends AbstractStringLayout
Appenders using this layout should have their charset set to UTF-8 or UTF-16, otherwise
events containing non ASCII characters could result in corrupted log files.
This property allows addition of custom fields into generated JSON.
<YamlLayout><KeyValuePair key="foo" value="bar"/></YamlLayout> inserts foo: "bar" directly
into YAML output. Supports Lookup expressions.
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractJacksonLayout.LogEventWithAdditionalFields |
protected static class |
AbstractJacksonLayout.ResolvableKeyValuePair |
static class |
YamlLayout.Builder<B extends YamlLayout.Builder<B>> |
AbstractStringLayout.Serializer, AbstractStringLayout.Serializer2| Modifier and Type | Field and Description |
|---|---|
protected AbstractJacksonLayout.ResolvableKeyValuePair[] |
additionalFields |
protected boolean |
compact |
protected static String |
COMPACT_EOL |
protected boolean |
complete |
protected static String |
DEFAULT_EOL |
protected String |
eol |
protected boolean |
includeNullDelimiter |
protected com.fasterxml.jackson.databind.ObjectWriter |
objectWriter |
DEFAULT_STRING_BUILDER_SIZE, MAX_STRING_BUILDER_SIZEconfiguration, eventCount, footer, header, LOGGERELEMENT_TYPE| Modifier | Constructor and Description |
|---|---|
protected |
YamlLayout(Configuration config,
boolean locationInfo,
boolean properties,
boolean complete,
boolean compact,
boolean eventEol,
String headerPattern,
String footerPattern,
Charset charset,
boolean includeStacktrace)
Deprecated.
Use
newBuilder() instead |
| Modifier and Type | Method and Description |
|---|---|
static org.apache.logging.log4j.core.layout.AbstractJacksonLayout |
createDefaultLayout()
Creates a YAML Layout using the default settings.
|
static org.apache.logging.log4j.core.layout.AbstractJacksonLayout |
createLayout(Configuration config,
boolean locationInfo,
boolean properties,
String headerPattern,
String footerPattern,
Charset charset,
boolean includeStacktrace)
Deprecated.
Use
newBuilder() instead |
Map<String,String> |
getContentFormat()
Returns a description of the content format.
|
String |
getContentType()
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>> |
newBuilder() |
String |
toSerializable(LogEvent event)
Formats a
LogEvent. |
void |
toSerializable(LogEvent event,
Writer writer) |
protected static boolean |
valueNeedsLookup(String value) |
protected Object |
wrapLogEvent(LogEvent event) |
getBytes, getCharset, getFooterSerializer, getHeaderSerializer, getStringBuilder, getStringBuilderEncoder, requiresLocation, serializeToBytes, serializeToString, toByteArray, trimToMaxSizeencode, getConfiguration, markEventprotected static final String DEFAULT_EOL
protected static final String COMPACT_EOL
protected final com.fasterxml.jackson.databind.ObjectWriter objectWriter
protected final boolean compact
protected final boolean complete
protected final boolean includeNullDelimiter
protected final AbstractJacksonLayout.ResolvableKeyValuePair[] additionalFields
@Deprecated protected YamlLayout(Configuration config, boolean locationInfo, boolean properties, boolean complete, boolean compact, boolean eventEol, String headerPattern, String footerPattern, Charset charset, boolean includeStacktrace)
newBuilder() insteadpublic byte[] getHeader()
getHeader in interface Layout<String>getHeader in class AbstractStringLayoutpublic byte[] getFooter()
getFooter in interface Layout<String>getFooter in class AbstractStringLayoutpublic Map<String,String> getContentFormat()
LayoutgetContentFormat in interface Layout<String>getContentFormat in class AbstractLayout<String>public String getContentType()
LayoutgetContentType in interface Layout<String>getContentType in class AbstractStringLayout@Deprecated public static org.apache.logging.log4j.core.layout.AbstractJacksonLayout createLayout(Configuration config, boolean locationInfo, boolean properties, String headerPattern, String footerPattern, Charset charset, boolean includeStacktrace)
newBuilder() insteadconfig - 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, if null, uses "UTF-8".includeStacktrace - If "true", includes the stacktrace of any Throwable in the generated YAML, defaults to "true".@PluginBuilderFactory public static <B extends YamlLayout.Builder<B>> B newBuilder()
public static org.apache.logging.log4j.core.layout.AbstractJacksonLayout createDefaultLayout()
protected static boolean valueNeedsLookup(String value)
public String toSerializable(LogEvent event)
LogEvent.event - The LogEvent.protected Object wrapLogEvent(LogEvent event)
public void toSerializable(LogEvent event, Writer writer) throws com.fasterxml.jackson.core.JsonGenerationException, com.fasterxml.jackson.databind.JsonMappingException, IOException
com.fasterxml.jackson.core.JsonGenerationExceptioncom.fasterxml.jackson.databind.JsonMappingExceptionIOExceptionCopyright © 1999-2021 The Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.