SLF4J探险之Marker接口

/**

  • Markers are named objects used to enrich log statements. Conforming logging

  • system Implementations of SLF4J determine how information conveyed by markers

  • are used, if at all. In particular, many conforming logging systems ignore

  • marker data.

  • <p>

  • Markers can contain references to other markers, which in turn may contain

  • references of their own.

  • @author Ceki Gülcü
    */
    public interface Marker extends Serializable {

    /**

    • This constant represents any marker, including a null marker.
      /
      public final String ANY_MARKER = "
      ";

    /**

    • This constant represents any non-null marker.
      */
      public final String ANY_NON_NULL_MARKER = "+";

    /**

    • Get the name of this Marker.
    • @return name of marker
      */
      public String getName();

    /**

    • Add a reference to another Marker.
    • @param reference
    •            a reference to another marker
      
    • @throws IllegalArgumentException
    •             if 'reference' is null
      

    */
    public void add(Marker reference);

    /**

    • Remove a marker reference.
    • @param reference
    •            the marker reference to remove
      
    • @return true if reference could be found and removed, false otherwise.
      */
      public boolean remove(Marker reference);

    /**

    • @deprecated Replaced by {@link #hasReferences()}.
      */
      public boolean hasChildren();

    /**

    • Does this marker have any references?
    • @return true if this marker has one or more references, false otherwise.
      */
      public boolean hasReferences();

    /**

    • 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.
    • @return Iterator over the references of this marker
      */
      public Iterator<Marker> iterator();

    /**

    • 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).
    • @param other
    •            The marker to test for inclusion.
      
    • @throws IllegalArgumentException
    •             if 'other' is null
      
    • @return Whether this marker contains the other marker.
      */
      public boolean contains(Marker other);

    /**

    • Does this marker contain the marker named 'name'?
    • If 'name' is null the returned value is always false.
    • @param name The marker name to test for inclusion.
    • @return Whether this marker contains the other marker.
      */
      public boolean contains(String name);

    /**

    • Markers are considered equal if they have the same name.
    • @param o
    • @return true, if this.name equals o.name
    • @since 1.5.1
      */
      public boolean equals(Object o);

    /**

    • Compute the hash code based on the name of this marker.
    • Note that markers are considered equal if they have the same name.
    • @return the computed hashCode
    • @since 1.5.1
      */
      public int hashCode();

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容