Class NodeAndClusterIdConverter

  • All Implemented Interfaces:
    org.apache.logging.log4j.core.pattern.PatternConverter

    @Plugin(category="Converter",
            name="NodeAndClusterIdConverter")
    public final class NodeAndClusterIdConverter
    extends org.apache.logging.log4j.core.pattern.LogEventPatternConverter
    Pattern converter to format the node_and_cluster_id variable into JSON fields node.id and cluster.uuid. Keeping those two fields together assures that they will be atomically set and become visible in logs at the same time.
    • Field Summary

      • Fields inherited from class org.apache.logging.log4j.core.pattern.AbstractPatternConverter

        LOGGER
      • Fields inherited from interface org.apache.logging.log4j.core.pattern.PatternConverter

        CATEGORY
    • Method Summary

      Modifier and Type Method Description
      void format​(org.apache.logging.log4j.core.LogEvent event, java.lang.StringBuilder toAppendTo)
      Formats the node.id and cluster.uuid into json fields.
      static NodeAndClusterIdConverter newInstance​(java.lang.String[] options)
      Called by log4j2 to initialize this converter.
      static void setNodeIdAndClusterId​(java.lang.String nodeId, java.lang.String clusterUUID)
      Updates only once the clusterID and nodeId.
      • Methods inherited from class org.apache.logging.log4j.core.pattern.LogEventPatternConverter

        format, handlesThrowable, isVariable
      • Methods inherited from class org.apache.logging.log4j.core.pattern.AbstractPatternConverter

        getName, getStyleClass
      • Methods inherited from class java.lang.Object

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

      • NodeAndClusterIdConverter

        public NodeAndClusterIdConverter()
    • Method Detail

      • newInstance

        public static NodeAndClusterIdConverter newInstance​(java.lang.String[] options)
        Called by log4j2 to initialize this converter.
      • setNodeIdAndClusterId

        public static void setNodeIdAndClusterId​(java.lang.String nodeId,
                                                 java.lang.String clusterUUID)
        Updates only once the clusterID and nodeId. Subsequent executions will throw SetOnce.AlreadySetException.
        Parameters:
        nodeId - a nodeId received from cluster state update
        clusterUUID - a clusterId received from cluster state update
      • format

        public void format​(org.apache.logging.log4j.core.LogEvent event,
                           java.lang.StringBuilder toAppendTo)
        Formats the node.id and cluster.uuid into json fields.
        Specified by:
        format in class org.apache.logging.log4j.core.pattern.LogEventPatternConverter
        Parameters:
        event - - a log event is ignored in this method as it uses the nodeId and clusterId to format