Package org.apache.logging.log4j.util
Class EnvironmentPropertySource
- java.lang.Object
-
- org.apache.logging.log4j.util.EnvironmentPropertySource
-
- All Implemented Interfaces:
PropertySource
public class EnvironmentPropertySource extends Object implements PropertySource
PropertySource implementation that uses environment variables as a source. All environment variables must begin withLOG4J_so as not to conflict with other variables. Normalized environment variables follow a scheme like this:log4j2.fooBarPropertywould normalize toLOG4J_FOO_BAR_PROPERTY.- Since:
- 2.10.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.logging.log4j.util.PropertySource
PropertySource.Comparator, PropertySource.Util
-
-
Constructor Summary
Constructors Constructor Description EnvironmentPropertySource()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsProperty(String key)For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.voidforEach(BiConsumer<String,String> action)Iterates over all properties and performs an action for each key/value pair.CharSequencegetNormalForm(Iterable<? extends CharSequence> tokens)Converts a list of property name tokens into a normal form.intgetPriority()Returns the order in which this PropertySource has priority.StringgetProperty(String key)For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.Collection<String>getPropertyNames()Returns the list of all property names.
-
-
-
Method Detail
-
getPriority
public int getPriority()
Description copied from interface:PropertySourceReturns 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:
getPriorityin interfacePropertySource- Returns:
- priority value
-
forEach
public void forEach(BiConsumer<String,String> action)
Description copied from interface:PropertySourceIterates over all properties and performs an action for each key/value pair.- Specified by:
forEachin interfacePropertySource- Parameters:
action- action to perform on each key/value pair
-
getNormalForm
public CharSequence getNormalForm(Iterable<? extends CharSequence> tokens)
Description copied from interface:PropertySourceConverts 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:
getNormalFormin interfacePropertySource- 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:PropertySourceReturns the list of all property names.- Specified by:
getPropertyNamesin interfacePropertySource- Returns:
- list of property names
-
getProperty
public String getProperty(String key)
Description copied from interface:PropertySourceFor PropertySources that cannot iterate over all the potential properties this provides a direct lookup.- Specified by:
getPropertyin interfacePropertySource- Parameters:
key- The key to search for.- Returns:
- The value or null;
-
containsProperty
public boolean containsProperty(String key)
Description copied from interface:PropertySourceFor PropertySources that cannot iterate over all the potential properties this provides a direct lookup.- Specified by:
containsPropertyin interfacePropertySource- Parameters:
key- The key to search for.- Returns:
- The value or null;
-
-