[jboss-svn-commits] JBoss Common SVN: r4836 - jboss-logmanager/trunk/src/main/java/org/jboss/logmanager.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Sep 1 18:03:52 EDT 2010
Author: david.lloyd at jboss.com
Date: 2010-09-01 18:03:52 -0400 (Wed, 01 Sep 2010)
New Revision: 4836
Modified:
jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/ExtLogRecord.java
jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/MDC.java
Log:
Make NDC/MDC modifiable on a log record; change MDC to use FastCopyHashMap
Modified: jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/ExtLogRecord.java
===================================================================
--- jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/ExtLogRecord.java 2010-08-30 14:45:24 UTC (rev 4835)
+++ jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/ExtLogRecord.java 2010-09-01 22:03:52 UTC (rev 4836)
@@ -129,10 +129,10 @@
}
}
- private final String ndc;
private transient final String loggerClassName;
private transient boolean calculateCaller = true;
+ private String ndc;
private FormatStyle formatStyle = FormatStyle.MESSAGE_FORMAT;
private Map<String, String> mdcCopy;
private int sourceLineNumber = -1;
@@ -188,6 +188,18 @@
}
/**
+ * Change an MDC value on this record. If the MDC has not yet been copied, this method will copy it.
+ *
+ * @param key the key to set
+ * @param value the value to set it to
+ * @return the old value, if any
+ */
+ public String putMdc(String key, String value) {
+ copyMdc();
+ return mdcCopy.put(key, value);
+ }
+
+ /**
* Get the NDC for this log record.
*
* @return the NDC
@@ -197,6 +209,15 @@
}
/**
+ * Change the NDC for this log record.
+ *
+ * @param value the new NDC value
+ */
+ public void setNdc(String value) {
+ ndc = value;
+ }
+
+ /**
* Get the class name of the logger which created this record.
*
* @return the class name
Modified: jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/MDC.java
===================================================================
--- jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/MDC.java 2010-08-30 14:45:24 UTC (rev 4835)
+++ jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/MDC.java 2010-09-01 22:03:52 UTC (rev 4836)
@@ -22,7 +22,6 @@
package org.jboss.logmanager;
-import java.util.HashMap;
import java.util.Map;
/**
@@ -77,7 +76,7 @@
* @return a copy of the map
*/
public static Map<String, String> copy() {
- return new HashMap<String, String>(mdc.get());
+ return mdc.get().clone();
}
/**
@@ -87,14 +86,14 @@
mdc.get().clear();
}
- private static final class Holder extends InheritableThreadLocal<Map<String, String>> {
+ private static final class Holder extends InheritableThreadLocal<FastCopyHashMap<String, String>> {
- protected Map<String, String> childValue(final Map<String, String> parentValue) {
- return new HashMap<String, String>(parentValue);
+ protected FastCopyHashMap<String, String> childValue(final Map<String, String> parentValue) {
+ return new FastCopyHashMap<String, String>(parentValue);
}
- protected Map<String, String> initialValue() {
- return new HashMap<String, String>();
+ protected FastCopyHashMap<String, String> initialValue() {
+ return new FastCopyHashMap<String, String>();
}
}
}
More information about the jboss-svn-commits
mailing list