Class MapLookup

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.String,​java.lang.String> map
      Map keys are variable names and value.
      • Fields inherited from interface org.apache.logging.log4j.core.lookup.StrLookup

        CATEGORY
    • Constructor Summary

      Constructors 
      Constructor Description
      MapLookup()
      Constructor when used directly as a plugin.
      MapLookup​(java.util.Map<java.lang.String,​java.lang.String> map)
      Creates a new instance backed by a Map.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected java.util.Map<java.lang.String,​java.lang.String> getMap()  
      (package private) static java.util.Map<java.lang.String,​java.lang.String> initMap​(java.lang.String[] srcArgs, java.util.Map<java.lang.String,​java.lang.String> destMap)  
      java.lang.String lookup​(java.lang.String key)
      Looks up a String key to a String value using the map.
      java.lang.String lookup​(LogEvent event, java.lang.String key)
      Looks up a String key to a String value possibly using the current LogEvent.
      (package private) static java.util.HashMap<java.lang.String,​java.lang.String> newMap​(int initialCapacity)  
      static void setMainArguments​(java.lang.String... args)
      Deprecated.
      (package private) static java.util.Map<java.lang.String,​java.lang.String> toMap​(java.lang.String[] args)  
      (package private) static java.util.Map<java.lang.String,​java.lang.String> toMap​(java.util.List<java.lang.String> args)  
      • Methods inherited from class java.lang.Object

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

      • map

        private final java.util.Map<java.lang.String,​java.lang.String> map
        Map keys are variable names and value.
    • Constructor Detail

      • MapLookup

        public MapLookup()
        Constructor when used directly as a plugin.
      • MapLookup

        public MapLookup​(java.util.Map<java.lang.String,​java.lang.String> map)
        Creates a new instance backed by a Map. Used by the default lookup.
        Parameters:
        map - the map of keys to values, may be null
    • Method Detail

      • initMap

        static java.util.Map<java.lang.String,​java.lang.String> initMap​(java.lang.String[] srcArgs,
                                                                              java.util.Map<java.lang.String,​java.lang.String> destMap)
      • newMap

        static java.util.HashMap<java.lang.String,​java.lang.String> newMap​(int initialCapacity)
      • setMainArguments

        @Deprecated
        public static void setMainArguments​(java.lang.String... args)
        Deprecated.
        An application's public static main(String[]) method calls this method to make its main arguments available for lookup with the prefix main.

        The map provides two kinds of access: First by index, starting at "0", "1" and so on. For example, the command line --file path/file.txt -x 2 can be accessed from a configuration file with:

        • "main:0" = "--file"
        • "main:1" = "path/file.txt"
        • "main:2" = "-x"
        • "main:3" = "2"

        Second using the argument at position n as the key to access the value at n+1.

        • "main:--file" = "path/file.txt"
        • "main:-x" = "2"
        Parameters:
        args - An application's public static main(String[]) arguments.
        Since:
        2.1
      • toMap

        static java.util.Map<java.lang.String,​java.lang.String> toMap​(java.util.List<java.lang.String> args)
      • toMap

        static java.util.Map<java.lang.String,​java.lang.String> toMap​(java.lang.String[] args)
      • getMap

        protected java.util.Map<java.lang.String,​java.lang.String> getMap()
      • lookup

        public java.lang.String lookup​(LogEvent event,
                                       java.lang.String key)
        Description copied from interface: StrLookup
        Looks up a String key to a String value possibly using the current LogEvent.

        The internal implementation may use any mechanism to return the value. The simplest implementation is to use a Map. However, virtually any implementation is possible.

        For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database Or, a numeric based implementation could be created that treats the key as an integer, increments the value and return the result as a string - converting 1 to 2, 15 to 16 etc.

        This method always returns a String, regardless of the underlying data, by converting it as necessary. For example:

         Map<String, Object> map = new HashMap<String, Object>();
         map.put("number", new Integer(2));
         assertEquals("2", StrLookup.mapLookup(map).lookup("number"));
         
        Specified by:
        lookup in interface StrLookup
        Parameters:
        event - The current LogEvent.
        key - the key to be looked up, may be null
        Returns:
        the matching value, null if no match
      • lookup

        public java.lang.String lookup​(java.lang.String key)
        Looks up a String key to a String value using the map.

        If the map is null, then null is returned. The map result object is converted to a string using toString().

        Specified by:
        lookup in interface StrLookup
        Parameters:
        key - the key to be looked up, may be null
        Returns:
        the matching value, null if no match