Class AbstractPatternJsonProvider<Event extends DeferredProcessingAware>

java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
net.logstash.logback.composite.AbstractJsonProvider<Event>
net.logstash.logback.composite.AbstractPatternJsonProvider<Event>
Type Parameters:
Event - type of event (ILoggingEvent or IAccessEvent).
All Implemented Interfaces:
ContextAware, JsonProvider<Event>, ObjectMapperAware
Direct Known Subclasses:
AccessEventPatternJsonProvider, LoggingEventPatternJsonProvider

public abstract class AbstractPatternJsonProvider<Event extends DeferredProcessingAware> extends AbstractJsonProvider<Event> implements ObjectMapperAware
Transforms an string containing patterns understood by PatternLayouts into JSON output. Delegates most of the work to the AbstractJsonPatternParser that is to parse the pattern specified. Subclasses must implement createParser() method so it returns parser valid for a specified event class.
Author:
Dmitry Andrianov
  • Field Details

  • Constructor Details

    • AbstractPatternJsonProvider

      public AbstractPatternJsonProvider()
  • Method Details

    • writeTo

      public void writeTo(JsonGenerator generator, Event event)
      Description copied from interface: JsonProvider
      Writes information about the event, to the given generator.

      When called, the generator is assumed to be within a JSON object context (i.e. this provider should write fields and their values to the generator). Upon return, the generator should be within the same JSON object context.

      Specified by:
      writeTo in interface JsonProvider<Event extends DeferredProcessingAware>
      Parameters:
      generator - the JsonGenerator to produce JSON content
      event - the event to convert into JSON
    • createParser

      protected abstract AbstractJsonPatternParser<Event> createParser()
    • getPattern

      public String getPattern()
    • setPattern

      public void setPattern(String pattern)
    • setObjectMapper

      public void setObjectMapper(ObjectMapper objectMapper)
      Specified by:
      setObjectMapper in interface ObjectMapperAware
    • start

      public void start()
      Description copied from interface: JsonProvider
      Start the provider after all configuration properties are set.
      Specified by:
      start in interface JsonProvider<Event extends DeferredProcessingAware>
      Overrides:
      start in class AbstractJsonProvider<Event extends DeferredProcessingAware>
    • isOmitEmptyFields

      public boolean isOmitEmptyFields()
      When true, fields whose values are considered empty will be omitted from JSON output.
      Returns:
      true if empty fields are omitted from JSON output, false otherwise.
    • setOmitEmptyFields

      public void setOmitEmptyFields(boolean omitEmptyFields)
      When true, fields whose values are considered empty will be omitted from JSON output.
      Parameters:
      omitEmptyFields - whether empty fields are omitted or not