Interface JsonProvider<Event extends DeferredProcessingAware>

Type Parameters:
Event - type of event (ILoggingEvent or IAccessEvent).
All Superinterfaces:
ContextAware
All Known Implementing Classes:
AbstractFieldJsonProvider, AbstractFormattedTimestampJsonProvider, AbstractJsonProvider, AbstractNestedJsonProvider, AbstractPatternJsonProvider, AbstractSequenceJsonProvider, AbstractThreadNameJsonProvider, AbstractThrowableClassNameJsonProvider, AbstractThrowableMessageJsonProvider, AccessEventFormattedTimestampJsonProvider, AccessEventNestedJsonProvider, AccessEventPatternJsonProvider, AccessEventThreadNameJsonProvider, AccessMessageJsonProvider, ArgumentsJsonProvider, CallerDataJsonProvider, ContentLengthJsonProvider, ContextJsonProvider, ContextNameJsonProvider, ElapsedTimeJsonProvider, FormattedTimestampJsonProvider, GlobalCustomFieldsJsonProvider, LoggerNameJsonProvider, LoggingEventFormattedTimestampJsonProvider, LoggingEventNestedJsonProvider, LoggingEventPatternJsonProvider, LoggingEventThreadNameJsonProvider, LogLevelJsonProvider, LogLevelValueJsonProvider, LogstashMarkersJsonProvider, LogstashVersionJsonProvider, MdcJsonProvider, MessageJsonProvider, MethodJsonProvider, ProtocolJsonProvider, RawMessageJsonProvider, RemoteHostJsonProvider, RemoteUserJsonProvider, RequestedUriJsonProvider, RequestedUrlJsonProvider, RequestHeadersJsonProvider, ResponseHeadersJsonProvider, RootStackTraceElementJsonProvider, SequenceJsonProvider, SequenceJsonProvider, SequenceJsonProvider, StackHashJsonProvider, StackTraceJsonProvider, StatusCodeJsonProvider, TagsJsonProvider, ThreadNameJsonProvider, ThrowableClassNameJsonProvider, ThrowableMessageJsonProvider, ThrowableRootCauseClassNameJsonProvider, ThrowableRootCauseMessageJsonProvider, UuidJsonProvider, UuidProvider

public interface JsonProvider<Event extends DeferredProcessingAware> extends ContextAware
Contributes to the JSON output being written for the given Event.
  • Method Details

    • writeTo

      void writeTo(JsonGenerator generator, Event event) throws IOException
      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.

      Parameters:
      generator - the JsonGenerator to produce JSON content
      event - the event to convert into JSON
      Throws:
      IOException - if an I/O error occurs
    • prepareForDeferredProcessing

      void prepareForDeferredProcessing(Event event)
      Gives the provider a chance to perform more deferred processing (in addition to what is already provided by DeferredProcessingAware.prepareForDeferredProcessing()).
      Parameters:
      event - the event to prepare for deferred processing
    • start

      void start()
      Start the provider after all configuration properties are set.
    • stop

      void stop()
      Stop the provider
    • isStarted

      boolean isStarted()
      Report whether the provider is started or not.
      Returns:
      true if the provider is started, false otherwise.