Package org.slf4j

Interface Marker

All Superinterfaces:
Serializable
All Known Implementing Classes:
BasicMarker

public interface Marker extends Serializable
Markers are named objects used to enrich log statements. Conforming logging system implementations of SLF4J should determine how information conveyed by any markers are used, if at all. Many conforming logging systems ignore marker data entirely.

Markers can contain references to nested markers, which in turn may contain references of their own. Note that the fluent API (new in 2.0) allows adding multiple markers to a logging statement. It is often preferable to use multiple markers instead of nested markers.

Author:
Ceki Gülcü
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    This constant represents any marker, including a null marker.
    static final String
    This constant represents any non-null marker.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(Marker reference)
    Add a reference to another Marker.
    boolean
    Does this marker contain the marker named 'name'? If 'name' is null the returned value is always false.
    boolean
    Does this marker contain a reference to the 'other' marker? Marker A is defined to contain marker B, if A == B or if B is referenced by A, or if B is referenced by any one of A's references (recursively).
    boolean
    Markers are considered equal if they have the same name.
    Get the name of this Marker.
    boolean
    Deprecated.
    Replaced by hasReferences().
    int
    Compute the hash code based on the name of this marker.
    boolean
    Does this marker have any references?
    Returns an Iterator which can be used to iterate over the references of this marker.
    boolean
    remove(Marker reference)
    Remove a marker reference.
  • Field Details

  • Method Details

    • getName

      Get the name of this Marker.
      Returns:
      name of marker
    • add

      void add(Marker reference)
      Add a reference to another Marker.

      Note that the fluent API allows adding multiple markers to a logging statement. It is often preferable to use multiple markers instead of nested markers.

      Parameters:
      reference - a reference to another marker
      Throws:
      IllegalArgumentException - if 'reference' is null
    • remove

      boolean remove(Marker reference)
      Remove a marker reference.
      Parameters:
      reference - the marker reference to remove
      Returns:
      true if reference could be found and removed, false otherwise.
    • hasChildren

      Deprecated.
      Replaced by hasReferences().
    • hasReferences

      boolean hasReferences()
      Does this marker have any references?
      Returns:
      true if this marker has one or more references, false otherwise.
    • iterator

      Returns an Iterator which can be used to iterate over the references of this marker. An empty iterator is returned when this marker has no references.
      Returns:
      Iterator over the references of this marker
    • contains

      boolean contains(Marker other)
      Does this marker contain a reference to the 'other' marker? Marker A is defined to contain marker B, if A == B or if B is referenced by A, or if B is referenced by any one of A's references (recursively).
      Parameters:
      other - The marker to test for inclusion.
      Returns:
      Whether this marker contains the other marker.
      Throws:
      IllegalArgumentException - if 'other' is null
    • contains

      boolean contains(String name)
      Does this marker contain the marker named 'name'? If 'name' is null the returned value is always false.
      Parameters:
      name - The marker name to test for inclusion.
      Returns:
      Whether this marker contains the other marker.
    • equals

      boolean equals(Object o)
      Markers are considered equal if they have the same name.
      Overrides:
      equals in class Object
      Parameters:
      o -
      Returns:
      true, if this.name equals o.name
      Since:
      1.5.1
    • hashCode

      int hashCode()
      Compute the hash code based on the name of this marker. Note that markers are considered equal if they have the same name.
      Overrides:
      hashCode in class Object
      Returns:
      the computed hashCode
      Since:
      1.5.1