Class JsonLayout

  • All Implemented Interfaces:
    ch.qos.logback.core.Layout<ch.qos.logback.classic.spi.ILoggingEvent>, ch.qos.logback.core.spi.ContextAware, ch.qos.logback.core.spi.LifeCycle

    public class JsonLayout
    extends ch.qos.logback.core.LayoutBase<ch.qos.logback.classic.spi.ILoggingEvent>
    JsonLayout for formatting logging messages to take use of stackdriver etc.

    Usage is to configure an appender with an encoder using this layout. See logback.xml example below:

    
       <configuration>
         <appender name="JSON-OUT" class="ch.qos.logback.core.ConsoleAppender">
             <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                 <layout class="net.morimekta.tiny.server.logging.JsonPatternLayout">
                     <zoneId>UTC</zoneId>
                     <stackTraceFormat>full</stackTraceFormat>
                     <stackTraceIncludeShort>true</stackTraceIncludeShort>
                     <stackTraceFilter>
                         com.intellij,
                         com.sun.net.httpserver,
                         java.lang.reflect,
                         java.util.ArrayList.forEach,
                         java.util.concurrent,
                         java.util.stream,
                         jdk.httpserver,
                         jdk.internal.reflect,
                         org.apache.maven.surefire,
                         org.junit,
                         sun.net.httpserver,
                     </stackTraceFilter>
                 </layout>
             </encoder>
         </appender>
         <root level="INFO">
             <appender-ref ref="JSON-OUT"/>
         </root>
         <logger name="ch.qos.logback" level="WARN"/>
         <logger name="net.morimekta.tiny.server" level="DEBUG"/>
       </configuration>
     
    • Field Summary

      • Fields inherited from class ch.qos.logback.core.LayoutBase

        started
      • Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase

        context
    • Constructor Summary

      Constructors 
      Constructor Description
      JsonLayout()  
    • Constructor Detail

      • JsonLayout

        public JsonLayout()
    • Method Detail

      • setZoneId

        public void setZoneId​(String zoneId)
      • setStackTraceIncludeShort

        public void setStackTraceIncludeShort​(String bool)
      • setStackTraceFormat

        public void setStackTraceFormat​(String format)
      • setStackTraceFilter

        public void setStackTraceFilter​(String filter)
      • doLayout

        public String doLayout​(ch.qos.logback.classic.spi.ILoggingEvent event)
      • getContentType

        public String getContentType()
        Specified by:
        getContentType in interface ch.qos.logback.core.Layout<ch.qos.logback.classic.spi.ILoggingEvent>
        Overrides:
        getContentType in class ch.qos.logback.core.LayoutBase<ch.qos.logback.classic.spi.ILoggingEvent>