Class SystemPropertiesPropertySource

java.lang.Object
org.apache.logging.log4j.util.SystemPropertiesPropertySource
All Implemented Interfaces:
PropertySource

public class SystemPropertiesPropertySource extends Object implements PropertySource
PropertySource backed by the current system properties. Other than having a higher priority over normal properties, this follows the same rules as PropertiesPropertySource.
Since:
2.10.0
  • Constructor Details

    • SystemPropertiesPropertySource

      public SystemPropertiesPropertySource()
  • Method Details

    • getSystemProperty

      public static String getSystemProperty(String key, String defaultValue)
      Used by bootstrap code to get system properties without loading PropertiesUtil.
    • getPriority

      public int getPriority()
      Description copied from interface: PropertySource
      Returns the order in which this PropertySource has priority. A higher value means that the source will be searched later and can be overridden by other property sources.
      Specified by:
      getPriority in interface PropertySource
      Returns:
      priority value
    • forEach

      public void forEach(BiConsumer<String,String> action)
      Description copied from interface: PropertySource
      Iterates over all properties and performs an action for each key/value pair.
      Specified by:
      forEach in interface PropertySource
      Parameters:
      action - action to perform on each key/value pair
    • getNormalForm

      public CharSequence getNormalForm(Iterable<? extends CharSequence> tokens)
      Description copied from interface: PropertySource
      Converts a list of property name tokens into a normal form. For example, a list of tokens such as "foo", "bar", "baz", might be normalized into the property name "log4j2.fooBarBaz".
      Specified by:
      getNormalForm in interface PropertySource
      Parameters:
      tokens - list of property name tokens
      Returns:
      a normalized property name using the given tokens
    • getPropertyNames

      public Collection<String> getPropertyNames()
      Description copied from interface: PropertySource
      Returns the list of all property names.
      Specified by:
      getPropertyNames in interface PropertySource
      Returns:
      list of property names
    • getProperty

      public String getProperty(String key)
      Description copied from interface: PropertySource
      For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.
      Specified by:
      getProperty in interface PropertySource
      Parameters:
      key - The key to search for.
      Returns:
      The value or null;
    • containsProperty

      public boolean containsProperty(String key)
      Description copied from interface: PropertySource
      For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.
      Specified by:
      containsProperty in interface PropertySource
      Parameters:
      key - The key to search for.
      Returns:
      The value or null;