@Plugin(name="map", category="Lookup") public class MapLookup extends Object implements StrLookup
|Constructor and Description|
Constructor when used directly as a plugin.
Creates a new instance backed by a Map.
|Modifier and Type||Method and Description|
Looks up a String key to a String value possibly using the current LogEvent.
Looks up a String key to a String value using the map.
As of 2.4, use
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@Deprecated 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
The map provides two kinds of access: First by index, starting at
"1" and so on. For
example, the command line
--file path/file.txt -x 2 can be accessed from a configuration file with:
Second using the argument at position n as the key to access the value at n+1.
args- An application's
public static main(String)arguments.
public String lookup(LogEvent event, String key)
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"));
public String lookup(String key)
If the map is null, then null is returned. The map result object is converted to a string using toString().
Copyright © 1999-2023 The 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.