Class ObjectFieldsAppendingMarker
- All Implemented Interfaces:
Serializable
,Iterable<org.slf4j.Marker>
,StructuredArgument
,org.slf4j.Marker
Marker
OR StructuredArgument
that
that "unwraps" the given object into the logstash event.
When writing to the JSON data (via ArgumentsJsonProvider
or LogstashMarkersJsonProvider
),
the fields of the object are written inline into the JSON event
similar to how the JsonUnwrapped
annotation works.
When writing to a String (when used as a StructuredArgument
to the event's formatted message),
StructuredArguments.toString(Object)
is used to convert the object to a string.
For example, if the message is "mymessage {}", and the object argument is:
{ name1 : "value1", name2 : 5, name3 : [1, 2, 3], name4 : { name5 : 6 } }
Then the message, name1, name2, name3, name4 fields will be added to the json for the logstash event.
For example:
{ "message" : "mymessage objectsToStringValue", "name1" : "value1", "name2" : 5, "name3" : [1, 2, 3], "name4" : { "name5" : 6 } }Note that if the object cannot be unwrapped, then nothing will be written.
- See Also:
-
Field Summary
FieldsFields inherited from class net.logstash.logback.marker.LogstashMarker
MARKER_NAME_PREFIX
Fields inherited from interface org.slf4j.Marker
ANY_MARKER, ANY_NON_NULL_MARKER
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
contains
(org.slf4j.Marker other) boolean
getName()
boolean
Deprecated.int
hashCode()
boolean
Iterator<org.slf4j.Marker>
iterator()
boolean
remove
(org.slf4j.Marker referenceToRemove) Returns a string representation of this object, without including any references.void
writeTo
(JsonGenerator generator) Writes the data associated with this marker to the givenJsonGenerator
.Methods inherited from class net.logstash.logback.marker.LogstashMarker
add, and, toString, with
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
Methods inherited from interface net.logstash.logback.argument.StructuredArgument
toString
-
Field Details
-
MARKER_NAME
- See Also:
-
-
Constructor Details
-
ObjectFieldsAppendingMarker
-
-
Method Details
-
writeTo
Description copied from class:LogstashMarker
Writes the data associated with this marker to the givenJsonGenerator
.- Specified by:
writeTo
in interfaceStructuredArgument
- Specified by:
writeTo
in classLogstashMarker
- 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
Description copied from class:LogstashMarker
Returns a string representation of this object, without including any references.Subclasses should override
LogstashMarker.toStringSelf()
instead ofLogstashMarker.toString()
, sinceLogstashMarker.toString()
will automatically include theLogstashMarker.toStringSelf()
and references.- Overrides:
toStringSelf
in classLogstashMarker
- Returns:
- a string representation of this object, without including any references.
-
equals
- Specified by:
equals
in interfaceorg.slf4j.Marker
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfaceorg.slf4j.Marker
-
getName
- Specified by:
getName
in interfaceorg.slf4j.Marker
-
hasReferences
public boolean hasReferences()- Specified by:
hasReferences
in interfaceorg.slf4j.Marker
-
hasChildren
Deprecated.- Specified by:
hasChildren
in interfaceorg.slf4j.Marker
-
iterator
- Specified by:
iterator
in interfaceorg.slf4j.Marker
-
remove
public boolean remove(org.slf4j.Marker referenceToRemove) - Specified by:
remove
in interfaceorg.slf4j.Marker
-
contains
public boolean contains(org.slf4j.Marker other) - Specified by:
contains
in interfaceorg.slf4j.Marker
-
contains
- Specified by:
contains
in interfaceorg.slf4j.Marker
-