Author: michiel
Date: 2010-02-25 21:39:44 +0100 (Thu, 25 Feb 2010)
New Revision: 41172

Modified:
   
mmbase/trunk/utils/src/main/java/org/mmbase/util/logging/AbstractSimpleImpl.java
Log:
implemented MDC for SimpleImpl's (mainly to avoid the warning in test-cases)

Modified: 
mmbase/trunk/utils/src/main/java/org/mmbase/util/logging/AbstractSimpleImpl.java
===================================================================
--- 
mmbase/trunk/utils/src/main/java/org/mmbase/util/logging/AbstractSimpleImpl.java
    2010-02-25 19:42:28 UTC (rev 41171)
+++ 
mmbase/trunk/utils/src/main/java/org/mmbase/util/logging/AbstractSimpleImpl.java
    2010-02-25 20:39:44 UTC (rev 41172)
@@ -9,6 +9,8 @@
 
 package org.mmbase.util.logging;
 
+import java.util.*;
+
 /**
  * Base class for simple Logger implementations (no patterns and so
  * on).
@@ -19,7 +21,35 @@
 
 abstract public class AbstractSimpleImpl  implements Logger {
 
+    private static ThreadLocal<Map<String, Object>> MDC_VALUES = new 
ThreadLocal<Map<String, Object>>() {
+        @Override
+        protected Map<String, Object> initialValue() {
+            Map<String, Object> o = new HashMap<String, Object>();
+            return o;
+        }
+
+    };
+
     /**
+     * @since MMBase-2.0
+     */
+    public static MDC getMDC() {
+        return new MDC() {
+            public void put(String key, Object value) {
+                if (value != null) {
+                    MDC_VALUES.get().put(key, value);
+                } else {
+                    MDC_VALUES.get().remove(key);
+                }
+            }
+
+            public Object get(String key) {
+                return MDC_VALUES.get().get(key);
+            }
+        };
+    }
+
+    /**
      * @since MMBase-1.8
      */
     protected int level = Level.INFO_INT;

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to