1 package org.slf4j.impl;
2
3 import java.util.HashMap;
4 import java.util.Iterator;
5 import java.util.Map;
6
7 import org.slf4j.spi.MDCAdapter;
8
9 public class Log4jMDCAdapter implements MDCAdapter {
10
11 public void clear() {
12 Map map = org.apache.log4j.MDC.getContext();
13 if (map != null) {
14 map.clear();
15 }
16 }
17
18 public String get(String key) {
19 return (String) org.apache.log4j.MDC.get(key);
20 }
21
22
23
24
25
26
27
28
29
30
31
32
33
34 public void put(String key, String val) {
35 org.apache.log4j.MDC.put(key, val);
36 }
37
38 public void remove(String key) {
39 org.apache.log4j.MDC.remove(key);
40 }
41
42 public Map getCopyOfContextMap() {
43 Map old = org.apache.log4j.MDC.getContext();
44 if(old != null) {
45 return new HashMap(old);
46 } else {
47 return null;
48 }
49 }
50
51 public void setContextMap(Map contextMap) {
52 Map old = org.apache.log4j.MDC.getContext();
53 if(old == null) {
54 Iterator entrySetIterator = contextMap.entrySet().iterator();
55 while(entrySetIterator.hasNext()) {
56 Map.Entry mapEntry = (Map.Entry) entrySetIterator.next();
57 org.apache.log4j.MDC.put((String) mapEntry.getKey(), mapEntry.getValue());
58 }
59 } else {
60 old.clear();
61 old.putAll(contextMap);
62 }
63 }
64 }