Class OptionConverter
- java.lang.Object
-
- org.apache.log4j.helpers.OptionConverter
-
public class OptionConverter extends java.lang.ObjectA convenience class to convert property values to specific types.- Author:
- Ceki Gülcü, Simon Kitching;, Anders Kristensen
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String[]concatanateArrays(java.lang.String[] l, java.lang.String[] r)static java.lang.StringconvertSpecialChars(java.lang.String s)static java.lang.StringfindAndSubst(java.lang.String key, java.util.Properties props)Find the value corresponding tokeyinprops.static java.lang.StringgetSystemProperty(java.lang.String key, java.lang.String def)Very similar toSystem.getPropertyexcept that theSecurityExceptionis hidden.static java.lang.ObjectinstantiateByClassName(java.lang.String className, java.lang.Class superClass, java.lang.Object defaultValue)Instantiate an object given a class name.static java.lang.ObjectinstantiateByKey(java.util.Properties props, java.lang.String key, java.lang.Class superClass, java.lang.Object defaultValue)static voidselectAndConfigure(java.io.InputStream inputStream, java.lang.String clazz, LoggerRepository hierarchy)Configure log4j given anInputStream.static voidselectAndConfigure(java.net.URL url, java.lang.String clazz, LoggerRepository hierarchy)Configure log4j given a URL.static java.lang.StringsubstVars(java.lang.String val, java.util.Properties props)Perform variable substitution in stringvalfrom the values of keys found in the system propeties.static booleantoBoolean(java.lang.String value, boolean dEfault)Ifvalueis "true", thentrueis returned.static longtoFileSize(java.lang.String value, long dEfault)static inttoInt(java.lang.String value, int dEfault)static LeveltoLevel(java.lang.String value, Level defaultValue)Converts a standard or custom priority level to a Level object.
-
-
-
Method Detail
-
concatanateArrays
public static java.lang.String[] concatanateArrays(java.lang.String[] l, java.lang.String[] r)
-
convertSpecialChars
public static java.lang.String convertSpecialChars(java.lang.String s)
-
getSystemProperty
public static java.lang.String getSystemProperty(java.lang.String key, java.lang.String def)Very similar toSystem.getPropertyexcept that theSecurityExceptionis hidden.- Parameters:
key- The key to search for.def- The default value to return.- Returns:
- the string value of the system property, or the default value if there is no property with that key.
- Since:
- 1.1
-
instantiateByKey
public static java.lang.Object instantiateByKey(java.util.Properties props, java.lang.String key, java.lang.Class superClass, java.lang.Object defaultValue)
-
toBoolean
public static boolean toBoolean(java.lang.String value, boolean dEfault)Ifvalueis "true", thentrueis returned. Ifvalueis "false", thentrueis returned. Otherwise,defaultis returned.Case of value is unimportant.
-
toInt
public static int toInt(java.lang.String value, int dEfault)
-
toLevel
public static Level toLevel(java.lang.String value, Level defaultValue)
Converts a standard or custom priority level to a Level object.If
valueis of form "level#classname", then the specified class' toLevel method is called to process the specified level string; if no '#' character is present, then the defaultLevelclass is used to process the level value.As a special case, if the
valueparameter is equal to the string "NULL", then the valuenullwill be returned.If any error occurs while converting the value to a level, the
defaultValueparameter, which may benull, is returned.Case of
valueis insignificant for the level level, but is significant for the class name part, if present.- Since:
- 1.1
-
toFileSize
public static long toFileSize(java.lang.String value, long dEfault)
-
findAndSubst
public static java.lang.String findAndSubst(java.lang.String key, java.util.Properties props)Find the value corresponding tokeyinprops. Then perform variable substitution on the found value.
-
instantiateByClassName
public static java.lang.Object instantiateByClassName(java.lang.String className, java.lang.Class superClass, java.lang.Object defaultValue)Instantiate an object given a class name. Check that theclassNameis a subclass ofsuperClass. If that test fails or the object could not be instantiated, thendefaultValueis returned.- Parameters:
className- The fully qualified class name of the object to instantiate.superClass- The class to which the new object should belong.defaultValue- The object to return in case of non-fulfillment
-
substVars
public static java.lang.String substVars(java.lang.String val, java.util.Properties props) throws java.lang.IllegalArgumentExceptionPerform variable substitution in stringvalfrom the values of keys found in the system propeties.The variable substitution delimeters are ${ and }.
For example, if the System properties contains "key=value", then the call
String s = OptionConverter.substituteVars("Value of key is ${key}.");will set the variablesto "Value of key is value.".If no value could be found for the specified key, then the
propsparameter is searched, if the value could not be found there, then substitution defaults to the empty string.For example, if system propeties contains no value for the key "inexistentKey", then the call
String s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]");will setsto "Value of inexistentKey is []"An
IllegalArgumentExceptionis thrown ifvalcontains a start delimeter "${" which is not balanced by a stop delimeter "}".Author Avy Sharell
- Parameters:
val- The string on which variable substitution is performed.- Throws:
java.lang.IllegalArgumentException- ifvalis malformed.
-
selectAndConfigure
public static void selectAndConfigure(java.io.InputStream inputStream, java.lang.String clazz, LoggerRepository hierarchy)Configure log4j given anInputStream.The InputStream will be interpreted by a new instance of a log4j configurator.
All configurations steps are taken on the
hierarchypassed as a parameter.- Parameters:
inputStream- The configuration input stream.clazz- The class name, of the log4j configurator which will parse theinputStream. This must be a subclass ofConfigurator, or null. If this value is null then a default configurator ofPropertyConfiguratoris used.hierarchy- TheHierarchyto act on.- Since:
- 1.2.17
-
selectAndConfigure
public static void selectAndConfigure(java.net.URL url, java.lang.String clazz, LoggerRepository hierarchy)Configure log4j given a URL.The url must point to a file or resource which will be interpreted by a new instance of a log4j configurator.
All configurations steps are taken on the
hierarchypassed as a parameter.- Parameters:
url- The location of the configuration file or resource.clazz- The classname, of the log4j configurator which will parse the file or resource aturl. This must be a subclass ofConfigurator, or null. If this value is null then a default configurator ofPropertyConfiguratoris used, unless the filename pointed to byurlends in '.xml', in which caseDOMConfiguratoris used.hierarchy- TheHierarchyto act on.- Since:
- 1.1.4
-
-