Class MainMapLookup
- All Implemented Interfaces:
StrLookup
setMainArguments(String[])
.- Since:
- 2.4
-
Field Summary
-
Constructor Summary
ConstructorDescriptionConstructor 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 void
setMainArguments
(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 2
can 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:--file
would 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:StrLookup
Looks 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:MapLookup
Looks 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().
-