Class MapEntriesAppendingMarker

java.lang.Object
net.logstash.logback.marker.LogstashMarker
net.logstash.logback.marker.MapEntriesAppendingMarker
All Implemented Interfaces:
Serializable, Iterable<org.slf4j.Marker>, StructuredArgument, org.slf4j.Marker

public class MapEntriesAppendingMarker extends LogstashMarker implements StructuredArgument
A Marker OR StructuredArgument that appends entries from a Map into the logging event output.

When writing to the JSON data (via ArgumentsJsonProvider or LogstashMarkersJsonProvider):

When writing to a String (when used as a StructuredArgument to the event's formatted message), String.valueOf(Object) is used to convert the map to a string.

For example, if the message is "mymessage {}", and map argument contains is

 
 name1= a String "value1",
 name2= an Integer 5,
 name3= an array containing [1, 2, 3],
 name4= a map containing  name5=6
 
 
Then the message, name1, name2, name3, name4 fields will be added to the json for the logstash event.

For example:

 {
     "message" : "mymessage [name1=value1,name2=5,name3=[b...,name4=[name5=6]]",
     "name1"   : "value1",
     "name2"   : 5,
     "name3"   : [1, 2, 3],
     "name4"   : { "name5" : 6 }
 }
 
See Also:
  • Field Details

  • Constructor Details

    • MapEntriesAppendingMarker

      public MapEntriesAppendingMarker(Map<?,?> map)
  • Method Details

    • writeTo

      public void writeTo(JsonGenerator generator) throws IOException
      Description copied from class: LogstashMarker
      Writes the data associated with this marker to the given JsonGenerator.
      Specified by:
      writeTo in interface StructuredArgument
      Specified by:
      writeTo in class LogstashMarker
      Parameters:
      generator - the generator to which to write the output of this marker.
      Throws:
      IOException - if there was an error writing to the generator
    • toStringSelf

      public String toStringSelf()
      Description copied from class: LogstashMarker
      Returns a string representation of this object, without including any references.

      Subclasses should override LogstashMarker.toStringSelf() instead of LogstashMarker.toString(), since LogstashMarker.toString() will automatically include the LogstashMarker.toStringSelf() and references.

      Overrides:
      toStringSelf in class LogstashMarker
      Returns:
      a string representation of this object, without including any references.
    • equals

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

      public int hashCode()
      Specified by:
      hashCode in interface org.slf4j.Marker
    • 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