| Modifier and Type | Field and Description |
|---|---|
(package private) static MapLookup |
MAIN_SINGLETON
A singleton used by a main method to save its arguments.
|
| Constructor and Description |
|---|
MainMapLookup()
Constructor when used directly as a plugin.
|
MainMapLookup(java.util.Map<java.lang.String,java.lang.String> map) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
lookup(LogEvent event,
java.lang.String key)
Looks up a String key to a String value possibly using the current LogEvent.
|
java.lang.String |
lookup(java.lang.String key)
Looks up a String key to a String value using the map.
|
static void |
setMainArguments(java.lang.String... args)
An application's
public static main(String[]) method calls this method to make its main arguments
available for lookup with the prefix main. |
static final MapLookup MAIN_SINGLETON
public MainMapLookup()
public MainMapLookup(java.util.Map<java.lang.String,java.lang.String> map)
public static void setMainArguments(java.lang.String... args)
public static main(String[]) method calls this method to make its main arguments
available for lookup with the prefix main.
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"args - An application's public static main(String[]) arguments.public java.lang.String lookup(LogEvent event, java.lang.String key)
StrLookupThe 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"));
public java.lang.String lookup(java.lang.String key)
MapLookupIf the map is null, then null is returned. The map result object is converted to a string using toString().