Class Log4jMarkerFactory

  • All Implemented Interfaces:
    org.slf4j.IMarkerFactory

    public class Log4jMarkerFactory
    extends java.lang.Object
    implements org.slf4j.IMarkerFactory
    Log4j/SLF4J bridge to create SLF4J Markers based on name or based on existing SLF4J Markers.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static Logger LOGGER  
      private java.util.concurrent.ConcurrentMap<java.lang.String,​org.slf4j.Marker> markerMap  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private org.slf4j.Marker addMarkerIfAbsent​(java.lang.String name, Marker log4jMarker)  
      private static Marker convertMarker​(org.slf4j.Marker original)  
      private static Marker convertMarker​(org.slf4j.Marker original, java.util.Collection<org.slf4j.Marker> visited)  
      boolean detachMarker​(java.lang.String name)
      Log4j does not support detached Markers.
      boolean exists​(java.lang.String name)
      Returns true if the Marker exists.
      org.slf4j.Marker getDetachedMarker​(java.lang.String name)
      Log4j does not support detached Markers for performance reasons.
      org.slf4j.Marker getMarker​(java.lang.String name)
      Returns a Log4j Marker that is compatible with SLF4J.
      org.slf4j.Marker getMarker​(org.slf4j.Marker marker)
      Returns a Log4j Marker converted from an existing custom SLF4J Marker.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER

        private static final Logger LOGGER
      • markerMap

        private final java.util.concurrent.ConcurrentMap<java.lang.String,​org.slf4j.Marker> markerMap
    • Constructor Detail

      • Log4jMarkerFactory

        public Log4jMarkerFactory()
    • Method Detail

      • getMarker

        public org.slf4j.Marker getMarker​(java.lang.String name)
        Returns a Log4j Marker that is compatible with SLF4J.
        Specified by:
        getMarker in interface org.slf4j.IMarkerFactory
        Parameters:
        name - The name of the Marker.
        Returns:
        A Marker.
      • addMarkerIfAbsent

        private org.slf4j.Marker addMarkerIfAbsent​(java.lang.String name,
                                                   Marker log4jMarker)
      • getMarker

        public org.slf4j.Marker getMarker​(org.slf4j.Marker marker)
        Returns a Log4j Marker converted from an existing custom SLF4J Marker.
        Parameters:
        marker - The SLF4J Marker to convert.
        Returns:
        A converted Log4j/SLF4J Marker.
        Since:
        2.1
      • convertMarker

        private static Marker convertMarker​(org.slf4j.Marker original)
      • convertMarker

        private static Marker convertMarker​(org.slf4j.Marker original,
                                            java.util.Collection<org.slf4j.Marker> visited)
      • exists

        public boolean exists​(java.lang.String name)
        Returns true if the Marker exists.
        Specified by:
        exists in interface org.slf4j.IMarkerFactory
        Parameters:
        name - The Marker name.
        Returns:
        true if the Marker exists, false otherwise.
      • detachMarker

        public boolean detachMarker​(java.lang.String name)
        Log4j does not support detached Markers. This method always returns false.
        Specified by:
        detachMarker in interface org.slf4j.IMarkerFactory
        Parameters:
        name - The Marker name.
        Returns:
        false
      • getDetachedMarker

        public org.slf4j.Marker getDetachedMarker​(java.lang.String name)
        Log4j does not support detached Markers for performance reasons. The returned Marker is attached.
        Specified by:
        getDetachedMarker in interface org.slf4j.IMarkerFactory
        Parameters:
        name - The Marker name.
        Returns:
        The named Marker (unmodified).