Constructor and Description |
---|
MapLookup()
Constructor when used directly as a plugin.
|
MapLookup(Map<String,String> map)
Creates a new instance backed by a Map.
|
Modifier and Type | Method and Description |
---|---|
String |
lookup(LogEvent event,
String key)
Looks up a String key to a String value possibly using the current LogEvent.
|
String |
lookup(String key)
Looks up a String key to a String value using the map.
|
static void |
setMainArguments(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 . |
public MapLookup()
public static void setMainArguments(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 String lookup(LogEvent event, String key)
StrLookup
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"));
Copyright © 1999-2021 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.