Package org.apache.logging.log4j.util
Class PropertiesUtil
java.lang.Object
org.apache.logging.log4j.util.PropertiesUtil
Consider this class private.
 
 Provides utility methods for managing Properties instances as well as access to the global configuration
 system. Properties by default are loaded from the system properties, system environment, and a classpath resource
 file named "log4j2.component.properties". Additional properties can be loaded by implementing a custom
 PropertySource service and specifying it via a ServiceLoader file called
 META-INF/services/org.apache.logging.log4j.util.PropertySource with a list of fully qualified class names
 implementing that interface.
 
- See Also:
- 
Constructor SummaryConstructorsConstructorDescriptionPropertiesUtil(String propertiesFileName) Constructs a PropertiesUtil for a given properties file name on the classpath.PropertiesUtil(Properties props) Constructs a PropertiesUtil using a given Properties object as its source of defined properties.
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddPropertySource(PropertySource propertySource) Allows aPropertySourceto be added afterPropertiesUtilhas been created.static PropertiesextractSubset(Properties properties, String prefix) Extracts properties that start with or are equals to the specific prefix and returns them in a new Properties object with the prefix removed.booleangetBooleanProperty(String name) Gets the named property as a boolean value.getBooleanProperty(String[] prefixes, String key, Supplier<Boolean> supplier) Retrieves a property that may be prefixed by more than one string.booleangetBooleanProperty(String name, boolean defaultValue) Gets the named property as a boolean value.booleangetBooleanProperty(String name, boolean defaultValueIfAbsent, boolean defaultValueIfPresent) Gets the named property as a boolean value.getCharsetProperty(String name) Gets the named property as a Charset value.getCharsetProperty(String name, Charset defaultValue) Gets the named property as a Charset value.doublegetDoubleProperty(String name, double defaultValue) Gets the named property as a double.getDurationProperty(String[] prefixes, String key, Supplier<Duration> supplier) Retrieves a property that may be prefixed by more than one string.getDurationProperty(String name, Duration defaultValue) Retrieves a Duration where the String is of the format nnn[unit] where nnn represents an integer value and unit represents a time unit.getIntegerProperty(String[] prefixes, String key, Supplier<Integer> supplier) Retrieves a property that may be prefixed by more than one string.intgetIntegerProperty(String name, int defaultValue) Gets the named property as an integer.getLongProperty(String[] prefixes, String key, Supplier<Long> supplier) Retrieves a property that may be prefixed by more than one string.longgetLongProperty(String name, long defaultValue) Gets the named property as a long.static PropertiesUtilReturns the PropertiesUtil used by Log4j.getStringProperty(String name) Gets the named property as a String.getStringProperty(String[] prefixes, String key, Supplier<String> supplier) Retrieves a property that may be prefixed by more than one string.getStringProperty(String name, String defaultValue) Gets the named property as a String.static PropertiesReturn the system properties or an empty Properties object if an error occurs.booleanhasProperty(String name) Returnstrueif the specified property is defined, regardless of its value (it may not have a value).booleanReturns true if system properties tell us we are running on Windows.static Map<String,Properties> partitionOnCommonPrefixes(Properties properties) Partitions a properties map based on common key prefixes up to the first period.static Map<String,Properties> partitionOnCommonPrefixes(Properties properties, boolean includeBaseKey) Partitions a properties map based on common key prefixes up to the first period.voidreload()Deprecated.since 2.24.0 caching of property values is disabled.voidremovePropertySource(PropertySource propertySource) Removes aPropertySource.
- 
Constructor Details- 
PropertiesUtilConstructs a PropertiesUtil using a given Properties object as its source of defined properties.- Parameters:
- props- the Properties to use by default
 
- 
PropertiesUtilConstructs a PropertiesUtil for a given properties file name on the classpath. The properties specified in this file are used by default. If a property is not defined in this file, then the equivalent system property is used.- Parameters:
- propertiesFileName- the location of properties file to load
 
 
- 
- 
Method Details- 
getPropertiesReturns the PropertiesUtil used by Log4j.- Returns:
- the main Log4j PropertiesUtil instance.
 
- 
addPropertySourceAllows aPropertySourceto be added afterPropertiesUtilhas been created.- Parameters:
- propertySource- the- PropertySourceto add.
- Since:
- 2.19.0
 
- 
removePropertySourceRemoves aPropertySource.- Parameters:
- propertySource- the- PropertySourceto remove.
- Since:
- 2.24.0
 
- 
hasPropertyReturnstrueif the specified property is defined, regardless of its value (it may not have a value).- Parameters:
- name- the name of the property to verify
- Returns:
- trueif the specified property is defined, regardless of its value
- Since:
- 2.9.0
 
- 
getBooleanPropertyGets the named property as a boolean value. If the property matches the string"true"(case-insensitive), then it is returned as the boolean valuetrue. Any other non-nulltext in the property is consideredfalse.- Parameters:
- name- the name of the property to look up
- Returns:
- the boolean value of the property or falseif undefined.
 
- 
getBooleanPropertyGets the named property as a boolean value.- Parameters:
- name- the name of the property to look up
- defaultValue- the default value to use if the property is undefined
- Returns:
- the boolean value of the property or defaultValueif undefined.
 
- 
getBooleanPropertypublic boolean getBooleanProperty(String name, boolean defaultValueIfAbsent, boolean defaultValueIfPresent) Gets the named property as a boolean value.- Parameters:
- name- the name of the property to look up
- defaultValueIfAbsent- the default value to use if the property is undefined
- defaultValueIfPresent- the default value to use if the property is defined but not assigned
- Returns:
- the boolean value of the property or defaultValueif undefined.
- Since:
- 2.9.0
 
- 
getBooleanPropertyRetrieves a property that may be prefixed by more than one string.- Parameters:
- prefixes- The array of prefixes.
- key- The key to locate.
- supplier- The method to call to derive the default value. If the value is null, null will be returned if no property is found.
- Returns:
- The value or null if it is not found.
- Since:
- 2.13.0
 
- 
getCharsetPropertyGets the named property as a Charset value.- Parameters:
- name- the name of the property to look up
- Returns:
- the Charset value of the property or Charset.defaultCharset()if undefined.
- Since:
- 2.8
 
- 
getCharsetPropertyGets the named property as a Charset value. If we cannot find the named Charset, see if it is mapped in fileLog4j-charsets.propertieson the class path.- Parameters:
- name- the name of the property to look up
- defaultValue- the default value to use if the property is undefined
- Returns:
- the Charset value of the property or defaultValueif undefined.
- Since:
- 2.8
 
- 
getDoublePropertyGets the named property as a double.- Parameters:
- name- the name of the property to look up
- defaultValue- the default value to use if the property is undefined
- Returns:
- the parsed double value of the property or defaultValueif it was undefined or could not be parsed.
- Since:
- 2.6
 
- 
getIntegerPropertyGets the named property as an integer.- Parameters:
- name- the name of the property to look up
- defaultValue- the default value to use if the property is undefined
- Returns:
- the parsed integer value of the property or defaultValueif it was undefined or could not be parsed.
 
- 
getIntegerPropertyRetrieves a property that may be prefixed by more than one string.- Parameters:
- prefixes- The array of prefixes.
- key- The key to locate.
- supplier- The method to call to derive the default value. If the value is null, null will be returned if no property is found.
- Returns:
- The value or null if it is not found.
- Since:
- 2.13.0
 
- 
getLongPropertyGets the named property as a long.- Parameters:
- name- the name of the property to look up
- defaultValue- the default value to use if the property is undefined
- Returns:
- the parsed long value of the property or defaultValueif it was undefined or could not be parsed.
 
- 
getLongPropertyRetrieves a property that may be prefixed by more than one string.- Parameters:
- prefixes- The array of prefixes.
- key- The key to locate.
- supplier- The method to call to derive the default value. If the value is null, null will be returned if no property is found.
- Returns:
- The value or null if it is not found.
- Since:
- 2.13.0
 
- 
getDurationPropertyRetrieves a Duration where the String is of the format nnn[unit] where nnn represents an integer value and unit represents a time unit.- Parameters:
- name- The property name.
- defaultValue- The default value.
- Returns:
- The value of the String as a Duration or the default value, which may be null.
- Since:
- 2.13.0
 
- 
getDurationPropertyRetrieves a property that may be prefixed by more than one string.- Parameters:
- prefixes- The array of prefixes.
- key- The key to locate.
- supplier- The method to call to derive the default value. If the value is null, null will be returned if no property is found.
- Returns:
- The value or null if it is not found.
- Since:
- 2.13.0
 
- 
getStringPropertyRetrieves a property that may be prefixed by more than one string.- Parameters:
- prefixes- The array of prefixes.
- key- The key to locate.
- supplier- The method to call to derive the default value. If the value is null, null will be returned if no property is found.
- Returns:
- The value or null if it is not found.
- Since:
- 2.13.0
 
- 
getStringPropertyGets the named property as a String.- Parameters:
- name- the name of the property to look up
- Returns:
- the String value of the property or nullif undefined.
 
- 
getStringPropertyGets the named property as a String.- Parameters:
- name- the name of the property to look up
- defaultValue- the default value to use if the property is undefined
- Returns:
- the String value of the property or defaultValueif undefined.
 
- 
getSystemPropertiesReturn the system properties or an empty Properties object if an error occurs.- Returns:
- The system properties.
 
- 
reloadDeprecated.since 2.24.0 caching of property values is disabled.Reloads all properties. This is primarily useful for unit tests.- Since:
- 2.10.0
 
- 
extractSubsetExtracts properties that start with or are equals to the specific prefix and returns them in a new Properties object with the prefix removed.- Parameters:
- properties- The Properties to evaluate.
- prefix- The prefix to extract.
- Returns:
- The subset of properties.
- Since:
- 2.4
 
- 
partitionOnCommonPrefixesPartitions a properties map based on common key prefixes up to the first period.- Parameters:
- properties- properties to partition
- Returns:
- the partitioned properties where each key is the common prefix (minus the period) and the values are new property maps without the prefix and period in the key
- Since:
- 2.6
 
- 
partitionOnCommonPrefixespublic static Map<String,Properties> partitionOnCommonPrefixes(Properties properties, boolean includeBaseKey) Partitions a properties map based on common key prefixes up to the first period.- Parameters:
- properties- properties to partition
- includeBaseKey- when true if a key exists with no '.' the key will be included.
- Returns:
- the partitioned properties where each key is the common prefix (minus the period) and the values are new property maps without the prefix and period in the key
- Since:
- 2.17.2
 
- 
isOsWindowspublic boolean isOsWindows()Returns true if system properties tell us we are running on Windows.- Returns:
- true if system properties tell us we are running on Windows.
- Since:
- 2.5
 
 
-