Class RawJsonAppendingMarker

All Implemented Interfaces:
Serializable, Iterable<org.slf4j.Marker>, StructuredArgument, org.slf4j.Marker

public class RawJsonAppendingMarker extends SingleFieldAppendingMarker
A Marker OR StructuredArgument that writes a raw json value to the logstash json event under a given field name.

When writing to the JSON data (via ArgumentsJsonProvider or LogstashMarkersJsonProvider), the raw string is written verbatim without any modifications, but assuming it must constitute a single legal JSON value (number, string, boolean, null, Array or List)

When writing to a String (when used as a StructuredArgument to the event's formatted message), the raw string is written as the field value. Note that using RawJsonAppendingMarker as a StructuredArgument is not very common.

See Also:
  • Field Details

  • Constructor Details

    • RawJsonAppendingMarker

      public RawJsonAppendingMarker(String fieldName, String rawJson)
    • RawJsonAppendingMarker

      public RawJsonAppendingMarker(String fieldName, String rawJson, String messageFormatPattern)
  • Method Details

    • writeFieldValue

      protected void writeFieldValue(JsonGenerator generator) throws IOException
      Description copied from class: SingleFieldAppendingMarker
      Writes the field value to the generator.
      Specified by:
      writeFieldValue in class SingleFieldAppendingMarker
      Parameters:
      generator - the generator to write JSON
      Throws:
      IOException - if an I/O error occurs
    • getFieldValue

      protected Object getFieldValue()
      Description copied from class: SingleFieldAppendingMarker
      Return the value that should be included in the output of LogstashMarker.toString().
      Specified by:
      getFieldValue in class SingleFieldAppendingMarker
      Returns:
      the field value
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface org.slf4j.Marker
      Overrides:
      equals in class SingleFieldAppendingMarker
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface org.slf4j.Marker
      Overrides:
      hashCode in class SingleFieldAppendingMarker
    • getName

      public String getName()
      Specified by:
      getName in interface org.slf4j.Marker
    • hasReferences

      public boolean hasReferences()
      Specified by:
      hasReferences in interface org.slf4j.Marker
    • hasChildren

      @Deprecated public boolean hasChildren()
      Deprecated.
      Specified by:
      hasChildren in interface org.slf4j.Marker
    • iterator

      public Iterator<org.slf4j.Marker> iterator()
      Specified by:
      iterator in interface org.slf4j.Marker
    • remove

      public boolean remove(org.slf4j.Marker referenceToRemove)
      Specified by:
      remove in interface org.slf4j.Marker
    • contains

      public boolean contains(org.slf4j.Marker other)
      Specified by:
      contains in interface org.slf4j.Marker
    • contains

      public boolean contains(String name)
      Specified by:
      contains in interface org.slf4j.Marker