From ed7da4b121ec2cdedf2e34076edafa53101fb401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=A8?= Date: Tue, 17 May 2022 16:13:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8Deque=E6=9B=BF=E6=8D=A2Stack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mzt/logapi/context/LogRecordContext.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/bizlog-sdk/src/main/java/com/mzt/logapi/context/LogRecordContext.java b/bizlog-sdk/src/main/java/com/mzt/logapi/context/LogRecordContext.java index 6119da4..66cdf05 100644 --- a/bizlog-sdk/src/main/java/com/mzt/logapi/context/LogRecordContext.java +++ b/bizlog-sdk/src/main/java/com/mzt/logapi/context/LogRecordContext.java @@ -2,9 +2,7 @@ import com.google.common.collect.Maps; -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; +import java.util.*; /** * @author muzhantong @@ -12,27 +10,27 @@ */ public class LogRecordContext { - private static final InheritableThreadLocal>> variableMapStack = new InheritableThreadLocal<>(); + private static final InheritableThreadLocal>> variableMapStack = new InheritableThreadLocal<>(); public static void putVariable(String name, Object value) { if (variableMapStack.get() == null) { - Stack> stack = new Stack<>(); + Deque> stack = new ArrayDeque<>(); variableMapStack.set(stack); } - Stack> mapStack = variableMapStack.get(); + Deque> mapStack = variableMapStack.get(); if (mapStack.size() == 0) { - variableMapStack.get().push(new HashMap<>()); + variableMapStack.get().push(Maps.newHashMap()); } - variableMapStack.get().peek().put(name, value); + variableMapStack.get().element().put(name, value); } public static Object getVariable(String key) { Map variableMap = variableMapStack.get().peek(); - return variableMap.get(key); + return variableMap == null ? null : variableMap.get(key); } public static Map getVariables() { - Stack> mapStack = variableMapStack.get(); + Deque> mapStack = variableMapStack.get(); return mapStack.peek(); } @@ -47,9 +45,9 @@ public static void clear() { * 每进入一个方法初始化一个 span 放入到 stack中,方法执行完后 pop 掉这个span */ public static void putEmptySpan() { - Stack> mapStack = variableMapStack.get(); + Deque> mapStack = variableMapStack.get(); if (mapStack == null) { - Stack> stack = new Stack<>(); + Deque> stack = new ArrayDeque<>(); variableMapStack.set(stack); } variableMapStack.get().push(Maps.newHashMap());