Class PropertiesLookup

  • All Implemented Interfaces:
    StrLookup

    public final class PropertiesLookup
    extends java.lang.Object
    implements StrLookup
    A lookup designed for Properties defined in the configuration. This is similar to MapLookup without special handling for structured messages. Note that this lookup is not a plugin, but wired as a default lookup in the configuration.
    • Field Detail

      • contextProperties

        private final java.util.Map<java.lang.String,​java.lang.String> contextProperties
        Logger context properties.
    • Constructor Detail

      • PropertiesLookup

        public PropertiesLookup​(Property[] configProperties,
                                java.util.Map<java.lang.String,​java.lang.String> contextProperties)
      • PropertiesLookup

        public PropertiesLookup​(java.util.Map<java.lang.String,​java.lang.String> properties)
        Constructs a new instance for the given map.
        Parameters:
        properties - map these.
    • Method Detail

      • 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 a value from configuration properties.

        If the property is not defined, then null is returned.

        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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object