Class JsonTemplateLayout
java.lang.Object
org.apache.logging.log4j.layout.template.json.JsonTemplateLayout
- All Implemented Interfaces:
Layout<String>, Encoder<LogEvent>, StringLayout
@Plugin(name="JsonTemplateLayout",
category="Core",
elementType="layout")
public class JsonTemplateLayout
extends Object
implements StringLayout
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classprivate static final classstatic final classprivate static final classStringBuilderEncoderclone replacing thread-local allocations with instance fields. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Charsetprivate final Stringprivate final Recycler<JsonTemplateLayout.Context> private final Stringprivate final TemplateResolver<LogEvent> Fields inherited from interface Layout
ELEMENT_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static Recycler<JsonTemplateLayout.Context> createContextRecycler(JsonTemplateLayout.Builder builder, JsonWriter jsonWriter) private static Supplier<JsonTemplateLayout.Context> createContextSupplier(Charset charset, JsonWriter jsonWriter) private TemplateResolver<LogEvent> createEventResolver(JsonTemplateLayout.Builder builder, Configuration configuration, Charset charset, JsonWriter jsonWriter) voidencode(LogEvent event, ByteBufferDestination destination) Encodes the specified source object to some binary representation and writes the result to the specified destination.Gets the Charset this layout uses to encode Strings into bytes.Returns a description of the content format.Returns the content type output by this layout.byte[]Returns the format for the layout format.byte[]Returns the header for the layout format.static JsonTemplateLayout.Builderprivate static Stringprivate static Stringprivate static StringreadTemplate(String template, String templateUri, Charset charset) byte[]toByteArray(LogEvent event) Formats the event suitable for display.toSerializable(LogEvent event) Formats the event as an Object that can be serialized.
-
Field Details
-
CONTENT_FORMAT
-
charset
-
contentType
-
eventResolver
-
eventDelimiter
-
contextRecycler
-
-
Constructor Details
-
JsonTemplateLayout
-
-
Method Details
-
createEventResolver
private TemplateResolver<LogEvent> createEventResolver(JsonTemplateLayout.Builder builder, Configuration configuration, Charset charset, JsonWriter jsonWriter) -
readEventTemplate
-
readStackTraceElementTemplate
-
readTemplate
-
createContextRecycler
private static Recycler<JsonTemplateLayout.Context> createContextRecycler(JsonTemplateLayout.Builder builder, JsonWriter jsonWriter) -
createContextSupplier
private static Supplier<JsonTemplateLayout.Context> createContextSupplier(Charset charset, JsonWriter jsonWriter) -
toByteArray
Description copied from interface:LayoutFormats the event suitable for display.- Specified by:
toByteArrayin interfaceLayout<String>- Parameters:
event- The Logging Event.- Returns:
- The formatted event.
-
toSerializable
-
encode
Description copied from interface:EncoderEncodes the specified source object to some binary representation and writes the result to the specified destination. -
getHeader
-
getCharset
Description copied from interface:StringLayoutGets the Charset this layout uses to encode Strings into bytes.- Specified by:
getCharsetin interfaceStringLayout- Returns:
- the Charset this layout uses to encode Strings into bytes.
-
getContentType
Description copied from interface:LayoutReturns the content type output by this layout. The base class returns "text/plain".- Specified by:
getContentTypein interfaceLayout<String>- Returns:
- the content type.
-
getContentFormat
Description copied from interface:LayoutReturns a description of the content format.- Specified by:
getContentFormatin interfaceLayout<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.
-
newBuilder
-