Class MainMapLookup
- All Implemented Interfaces:
StrLookup
setMainArguments(String[]).- Since:
- 2.4
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor when used directly as a plugin.MainMapLookup(Map<String, String> map) -
Method Summary
Modifier and TypeMethodDescriptionLooks up a String key to a String value using the map.Looks up a String key to a String value possibly using the current LogEvent.static voidsetMainArguments(String... args) An application'spublic static main(String[])method calls this method to make its main arguments available for lookup with the prefixmain.
-
Constructor Details
-
MainMapLookup
public MainMapLookup()Constructor when used directly as a plugin. -
MainMapLookup
-
-
Method Details
-
setMainArguments
An application'spublic static main(String[])method calls this method to make its main arguments available for lookup with the prefixmain.The map provides two kinds of access: First by index, starting at
"0","1"and so on. For example, the command line--file path/file.txt -x 2can be accessed from a configuration file with:"main:0"="--file""main:1"="path/file.txt""main:2"="-x""main:3"="2"
Second using the argument at position n as the key to access the value at n+1.
"main:\--file"="path/file.txt""main:\-x"="2"
Note: Many applications use leading dashes to identify command arguments. Specifying
"main:--filewould result in the lookup failing because it would look for a variable named "main" with a default value of "-file". To avoid this the ":" separating the Lookup name from the key must be followed by a backslash as an escape character.- Parameters:
args- An application'spublic static main(String[])arguments.
-
lookup
Description copied from interface:StrLookupLooks up a String key to a String value possibly using the current LogEvent.The internal implementation may use any mechanism to return the value. The simplest implementation is to use a Map. However, virtually any implementation is possible.
For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database Or, a numeric based implementation could be created that treats the key as an integer, increments the value and return the result as a string - converting 1 to 2, 15 to 16 etc.
This method always returns a String, regardless of the underlying data, by converting it as necessary. For example:
Map<String, Object> map = new HashMap<String, Object>(); map.put("number", new Integer(2)); assertEquals("2", StrLookup.mapLookup(map).lookup("number")); -
lookup
Description copied from class:MapLookupLooks up a String key to a String value using the map.If the map is null, then null is returned. The map result object is converted to a string using toString().
-