diff --git a/apps/emqx/src/emqx_trace/emqx_trace.erl b/apps/emqx/src/emqx_trace/emqx_trace.erl index 9e57b778a..988c2b808 100644 --- a/apps/emqx/src/emqx_trace/emqx_trace.erl +++ b/apps/emqx/src/emqx_trace/emqx_trace.erl @@ -255,9 +255,11 @@ format(Traces) -> fun(Trace0 = #?TRACE{}) -> [_ | Values] = tuple_to_list(Trace0), Map0 = maps:from_list(lists:zip(Fields, Values)), - Extra = maps:get(extra, Map0, #{}), - Formatter = maps:get(formatter, Extra, text), - Map0#{formatter => Formatter} + Extra0 = maps:get(extra, Map0, #{}), + Formatter = maps:get(formatter, Extra0, text), + Map1 = Map0#{formatter => Formatter}, + Extra1 = maps:remove(formatter, Extra0), + maps:put(extra, Extra1, Map1) end, Traces ).