Class PropertiesLookup

java.lang.Object
org.apache.logging.log4j.core.lookup.PropertiesLookup
All Implemented Interfaces:
StrLookup

public final class PropertiesLookup extends 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.
  • Constructor Details

    • PropertiesLookup

      public PropertiesLookup(Property[] configProperties, Map<String,String> contextProperties)
    • PropertiesLookup

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

    • lookup

      public String lookup(LogEvent event, 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 String lookup(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
    • evaluate

      public LookupResult evaluate(String key)
      Description copied from interface: StrLookup
      Same as StrLookup.lookup(String), but provides additional metadata describing the result. Returns null if the key cannot be evaluated, otherwise a LookupResult wrapping the non-null string value.
      Specified by:
      evaluate in interface StrLookup
    • evaluate

      public LookupResult evaluate(LogEvent event, String key)
      Description copied from interface: StrLookup
      Same as StrLookup.lookup(LogEvent, String), but provides additional metadata describing the result. Returns null if the key cannot be evaluated, otherwise a LookupResult wrapping the non-null string value.
      Specified by:
      evaluate in interface StrLookup
    • toString

      public String toString()
      Overrides:
      toString in class Object