Class MetadataExtractor<E,​T extends java.util.Collection<E>>

  • Type Parameters:
    E - Type of key-value entry served by this provider.
    T - Type of key-value collection served by this provider.
    All Implemented Interfaces:
    Extractor
    Direct Known Subclasses:
    MetadataExtractor.KvpBulkPatternExtractor, MetadataExtractor.MdcBulkPatternExtractor

    public abstract class MetadataExtractor<E,​T extends java.util.Collection<E>>
    extends java.lang.Object
    implements Extractor
    A component for extracting multiple key-value pairs from Logback event's metadata (mdc, kvp). Used for effective label/metadata extraction.
    • Method Detail

      • extract

        public void extract​(ch.qos.logback.classic.spi.ILoggingEvent event,
                            java.util.Map<java.lang.String,​java.lang.String> result)
        Extracts key-value pairs from the Logback event provided.
        Specified by:
        extract in interface Extractor
      • mdc

        public static MetadataExtractor.MdcBulkPatternExtractor mdc​(java.lang.String prefix,
                                                                    java.util.Set<java.lang.String> excludeKeys,
                                                                    java.util.Set<java.lang.String> includeKeys)
        Extractor for MDC.
      • kvp

        public static MetadataExtractor.KvpBulkPatternExtractor kvp​(java.lang.String prefix,
                                                                    java.util.Set<java.lang.String> excludeKeys,
                                                                    java.util.Set<java.lang.String> includeKeys)
        Extractor for KVP.
      • extractEntries

        protected abstract T extractEntries​(ch.qos.logback.classic.spi.ILoggingEvent event)
        Extract the collection of entries (i.e. fields) from the logging event.
        Parameters:
        event - Current logback event.
      • extractKey

        protected abstract java.lang.String extractKey​(E entry)
        Extract the key (i.e. field name) from the collection entry.
      • extractValue

        protected abstract java.lang.String extractValue​(E entry)
        Extract the value (i.e. field value) from the collection entry.