Class ESJsonLayout

  • All Implemented Interfaces:
    org.apache.logging.log4j.core.Layout<java.lang.String>, org.apache.logging.log4j.core.layout.Encoder<org.apache.logging.log4j.core.LogEvent>, org.apache.logging.log4j.core.StringLayout

    @Plugin(name="ESJsonLayout",
            category="Core",
            elementType="layout",
            printObject=true)
    public class ESJsonLayout
    extends org.apache.logging.log4j.core.layout.AbstractStringLayout
    Formats log events as strings in a json format.

    The class is wrapping the PatternLayout with a pattern to format into json. This gives more flexibility and control over how the log messages are formatted in JsonLayout

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout

        org.apache.logging.log4j.core.layout.AbstractStringLayout.Builder<B extends org.apache.logging.log4j.core.layout.AbstractStringLayout.Builder<B>>, org.apache.logging.log4j.core.layout.AbstractStringLayout.Serializer, org.apache.logging.log4j.core.layout.AbstractStringLayout.Serializer2
    • Field Summary

      • 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
      protected ESJsonLayout​(java.lang.String typeName, java.nio.charset.Charset charset)  
    • Method Summary

      Modifier and Type Method Description
      static ESJsonLayout createLayout​(java.lang.String type, java.nio.charset.Charset charset)  
      void encode​(org.apache.logging.log4j.core.LogEvent event, org.apache.logging.log4j.core.layout.ByteBufferDestination destination)  
      java.util.Map<java.lang.String,​java.lang.String> getContentFormat()  
      java.lang.String toSerializable​(org.apache.logging.log4j.core.LogEvent event)  
      java.lang.String toString()  
      • Methods inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout

        getBytes, getCharset, getContentType, getFooter, getFooterSerializer, getHeader, getHeaderSerializer, getStringBuilder, getStringBuilderEncoder, serializeToBytes, serializeToString, toByteArray, trimToMaxSize
      • Methods inherited from class org.apache.logging.log4j.core.layout.AbstractLayout

        getConfiguration, markEvent
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ESJsonLayout

        protected ESJsonLayout​(java.lang.String typeName,
                               java.nio.charset.Charset charset)
    • Method Detail

      • createLayout

        @PluginFactory
        public static ESJsonLayout createLayout​(@PluginAttribute("type_name")
                                                java.lang.String type,
                                                @PluginAttribute(value="charset",defaultString="UTF-8")
                                                java.nio.charset.Charset charset)
      • toSerializable

        public java.lang.String toSerializable​(org.apache.logging.log4j.core.LogEvent event)
      • getContentFormat

        public java.util.Map<java.lang.String,​java.lang.String> getContentFormat()
        Specified by:
        getContentFormat in interface org.apache.logging.log4j.core.Layout<java.lang.String>
        Overrides:
        getContentFormat in class org.apache.logging.log4j.core.layout.AbstractLayout<java.lang.String>
      • encode

        public void encode​(org.apache.logging.log4j.core.LogEvent event,
                           org.apache.logging.log4j.core.layout.ByteBufferDestination destination)
        Specified by:
        encode in interface org.apache.logging.log4j.core.layout.Encoder<org.apache.logging.log4j.core.LogEvent>
        Overrides:
        encode in class org.apache.logging.log4j.core.layout.AbstractLayout<java.lang.String>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object