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, JsonFactoryAware, JsonProvider<Event>
Direct Known Subclasses:
AccessEventPatternJsonProvider, LoggingEventPatternJsonProvider

public abstract class AbstractPatternJsonProvider<Event extends DeferredProcessingAware> extends AbstractJsonProvider<Event> implements JsonFactoryAware
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(JsonFactory) method so it returns parser valid for a specified event class.
Author:
Dmitry Andrianov
  • Constructor Details

    • AbstractPatternJsonProvider

      public AbstractPatternJsonProvider()
  • Method Details

    • writeTo

      public void writeTo(JsonGenerator generator, Event event) throws IOException
      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
      Throws:
      IOException - if an I/O error occurs
    • createParser

      protected abstract AbstractJsonPatternParser<Event> createParser(JsonFactory jsonFactory)
    • getPattern

      public String getPattern()
    • setPattern

      public void setPattern(String pattern)
    • setJsonFactory

      public void setJsonFactory(JsonFactory jsonFactory)
      Specified by:
      setJsonFactory in interface JsonFactoryAware
    • 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