Package org.apache.log
Class ContextMap
java.lang.Object
org.apache.log.ContextMap
- All Implemented Interfaces:
Serializable
The ContextMap contains non-hierarchical context information
relevant to a particular LogEvent. It may include information
such as;
- user ->fred
- hostname ->helm.realityforge.org
- ipaddress ->1.2.3.4
- interface ->127.0.0.1
- caller � �->com.biz.MyCaller.method(MyCaller.java:18)
- source � �->1.6.3.2:33
- Author:
- Avalon Development Team, Peter Donald
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ThreadLocal
private Hashtable
private final ContextMap
private boolean
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.ContextMap
(ContextMap parent) Constructor that sets parent contextMap. -
Method Summary
Modifier and TypeMethodDescriptionstatic final void
bind
(ContextMap context) Bind a particular ContextMap to current thread.private void
Utility method to verify that Context is read-only.void
clear()
Empty the context map.Get an entry from the context.Get an entry from the context.static final ContextMap
Get the Current ContextMap.static final ContextMap
getCurrentContext
(boolean autocreate) Get the Current ContextMap.int
getSize()
Get the number of contexts in map.boolean
Determine if context is read-only.void
Make the context read-only.private Object
Helper method that sets context to read-only after de-serialization.void
Set a value in context
-
Field Details
-
c_localContext
-
m_parent
-
m_map
-
m_readOnly
private transient boolean m_readOnly
-
-
Constructor Details
-
ContextMap
public ContextMap()Default constructor. -
ContextMap
Constructor that sets parent contextMap.- Parameters:
parent
- the parent ContextMap
-
-
Method Details
-
getCurrentContext
Get the Current ContextMap. This method returns a ContextMap associated with current thread. If the thread doesn't have a ContextMap associated with it then a new ContextMap is created.- Returns:
- the current ContextMap
-
getCurrentContext
Get the Current ContextMap. This method returns a ContextMap associated with current thread. If the thread doesn't have a ContextMap associated with it and autocreate is true then a new ContextMap is created.- Parameters:
autocreate
- true if a ContextMap is to be created if it doesn't exist- Returns:
- the current ContextMap
-
bind
Bind a particular ContextMap to current thread.- Parameters:
context
- the context map (may be null)
-
makeReadOnly
public void makeReadOnly()Make the context read-only. This makes it safe to allow untrusted code reference to ContextMap. -
isReadOnly
public boolean isReadOnly()Determine if context is read-only.- Returns:
- true if Context is read only, false otherwise
-
clear
public void clear()Empty the context map. -
get
Get an entry from the context.- Parameters:
key
- the key to mapdefaultObject
- a default object to return if key does not exist- Returns:
- the object in context
-
get
Get an entry from the context.- Parameters:
key
- the key to map- Returns:
- the object in context or null if none with specified key
-
set
Set a value in context- Parameters:
key
- the keyvalue
- the value (may be null)
-
getSize
public int getSize()Get the number of contexts in map.- Returns:
- the number of contexts in map
-
readResolve
Helper method that sets context to read-only after de-serialization.- Returns:
- the corrected object version
-
checkReadable
private void checkReadable()Utility method to verify that Context is read-only.
-