Class MainMapLookup
- java.lang.Object
-
- org.apache.logging.log4j.core.lookup.MapLookup
-
- org.apache.logging.log4j.core.lookup.MainMapLookup
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static MapLookupMAIN_SINGLETONA singleton used by a main method to save its arguments.
-
Constructor Summary
Constructors Constructor Description MainMapLookup()Constructor when used directly as a plugin.MainMapLookup(java.util.Map<java.lang.String,java.lang.String> map)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringlookup(java.lang.String key)Looks up a String key to a String value using the map.java.lang.Stringlookup(LogEvent event, java.lang.String key)Looks up a String key to a String value possibly using the current LogEvent.static voidsetMainArguments(java.lang.String... args)An application'spublic static main(String[])method calls this method to make its main arguments available for lookup with the prefixmain.-
Methods inherited from class org.apache.logging.log4j.core.lookup.MapLookup
getMap, initMap, newMap, toMap, toMap
-
-
-
-
Field Detail
-
MAIN_SINGLETON
static final MapLookup MAIN_SINGLETON
A singleton used by a main method to save its arguments.
-
-
Method Detail
-
setMainArguments
public static void setMainArguments(java.lang.String... args)
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
public java.lang.String lookup(LogEvent event, java.lang.String key)
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
public java.lang.String lookup(java.lang.String key)
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().
-
-