Package org.apache.logging.log4j.util
Class SystemPropertiesPropertySource
- java.lang.Object
-
- org.apache.logging.log4j.util.SystemPropertiesPropertySource
-
- All Implemented Interfaces:
PropertySource
public class SystemPropertiesPropertySource extends java.lang.Object implements PropertySource
PropertySource backed by the current system properties. Other than having a higher priority over normal properties, this follows the same rules asPropertiesPropertySource
.- Since:
- 2.10.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.logging.log4j.util.PropertySource
PropertySource.Comparator, PropertySource.Util
-
-
Field Summary
Fields Modifier and Type Field Description private static int
DEFAULT_PRIORITY
private static java.lang.String
PREFIX
-
Constructor Summary
Constructors Constructor Description SystemPropertiesPropertySource()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsProperty(java.lang.String key)
For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.void
forEach(BiConsumer<java.lang.String,java.lang.String> action)
Iterates over all properties and performs an action for each key/value pair.java.lang.CharSequence
getNormalForm(java.lang.Iterable<? extends java.lang.CharSequence> tokens)
Converts a list of property name tokens into a normal form.int
getPriority()
Returns the order in which this PropertySource has priority.java.lang.String
getProperty(java.lang.String key)
For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.java.util.Collection<java.lang.String>
getPropertyNames()
Returns the list of all property names.static java.lang.String
getSystemProperty(java.lang.String key, java.lang.String defaultValue)
Used by bootstrap code to get system properties without loading PropertiesUtil.
-
-
-
Field Detail
-
DEFAULT_PRIORITY
private static final int DEFAULT_PRIORITY
- See Also:
- Constant Field Values
-
PREFIX
private static final java.lang.String PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSystemProperty
public static java.lang.String getSystemProperty(java.lang.String key, java.lang.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 interfacePropertySource
- Returns:
- priority value
-
forEach
public void forEach(BiConsumer<java.lang.String,java.lang.String> action)
Description copied from interface:PropertySource
Iterates over all properties and performs an action for each key/value pair.- Specified by:
forEach
in interfacePropertySource
- Parameters:
action
- action to perform on each key/value pair
-
getNormalForm
public java.lang.CharSequence getNormalForm(java.lang.Iterable<? extends java.lang.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 interfacePropertySource
- Parameters:
tokens
- list of property name tokens- Returns:
- a normalized property name using the given tokens
-
getPropertyNames
public java.util.Collection<java.lang.String> getPropertyNames()
Description copied from interface:PropertySource
Returns the list of all property names.- Specified by:
getPropertyNames
in interfacePropertySource
- Returns:
- list of property names
-
getProperty
public java.lang.String getProperty(java.lang.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 interfacePropertySource
- Parameters:
key
- The key to search for.- Returns:
- The value or null;
-
containsProperty
public boolean containsProperty(java.lang.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 interfacePropertySource
- Parameters:
key
- The key to search for.- Returns:
- The value or null;
-
-