chore(trace): replace trace_filter by is_trace

This commit is contained in:
zhongwencool 2022-01-14 15:01:04 +08:00
parent 681ab6b754
commit 8b31466538
3 changed files with 17 additions and 19 deletions

View File

@ -82,11 +82,10 @@
case persistent_term:get(?TRACE_FILTER, undefined) of case persistent_term:get(?TRACE_FILTER, undefined) of
undefined -> ok; undefined -> ok;
[] -> ok; [] -> ok;
List -> List -> emqx_trace:log(List, Msg, Meta#{trace_tag => Tag})
emqx_trace:log(List, Msg, Meta#{trace_tag => Tag})
end, end,
?SLOG(debug, (emqx_trace_formatter:format_meta(Meta))#{msg => Msg, trace_tag => Tag}, ?SLOG(debug, (emqx_trace_formatter:format_meta(Meta))#{msg => Msg, tag => Tag},
#{trace_filter => ignore}) #{is_trace => false})
end). end).
%% print to 'user' group leader %% print to 'user' group leader

View File

@ -120,28 +120,28 @@ running() ->
lists:foldl(fun filter_traces/2, [], emqx_logger:get_log_handlers(started)). lists:foldl(fun filter_traces/2, [], emqx_logger:get_log_handlers(started)).
-spec filter_clientid(logger:log_event(), {binary(), atom()}) -> logger:log_event() | stop. -spec filter_clientid(logger:log_event(), {binary(), atom()}) -> logger:log_event() | stop.
filter_clientid(#{level := debug, meta := #{trace_filter := _}}, _) -> stop; filter_clientid(#{meta := Meta = #{clientid := ClientId}} = Log, {MatchId, _Name}) ->
filter_clientid(#{meta := #{clientid := ClientId}} = Log, {ClientId, _Name}) -> Log; filter_ret(ClientId =:= MatchId andalso is_trace(Meta), Log);
filter_clientid(_Log, _ExpectId) -> stop. filter_clientid(_Log, _ExpectId) -> stop.
-spec filter_topic(logger:log_event(), {binary(), atom()}) -> logger:log_event() | stop. -spec filter_topic(logger:log_event(), {binary(), atom()}) -> logger:log_event() | stop.
filter_topic(#{level := debug, meta := #{trace_filter := _}}, _) -> stop; filter_topic(#{meta := Meta = #{topic := Topic}} = Log, {TopicFilter, _Name}) ->
filter_topic(#{meta := #{topic := Topic}} = Log, {TopicFilter, _Name}) -> filter_ret(is_trace(Meta) andalso emqx_topic:match(Topic, TopicFilter), Log);
case emqx_topic:match(Topic, TopicFilter) of
true -> Log;
false -> stop
end;
filter_topic(_Log, _ExpectId) -> stop. filter_topic(_Log, _ExpectId) -> stop.
-spec filter_ip_address(logger:log_event(), {string(), atom()}) -> logger:log_event() | stop. -spec filter_ip_address(logger:log_event(), {string(), atom()}) -> logger:log_event() | stop.
filter_ip_address(#{level := debug, meta := #{trace_filter := _}}, _) -> stop; filter_ip_address(#{meta := Meta = #{peername := Peername}} = Log, {IP, _Name}) ->
filter_ip_address(#{meta := #{peername := Peername}} = Log, {IP, _Name}) -> filter_ret(is_trace(Meta) andalso lists:prefix(IP, Peername), Log);
case lists:prefix(IP, Peername) of
true -> Log;
false -> stop
end;
filter_ip_address(_Log, _ExpectId) -> stop. filter_ip_address(_Log, _ExpectId) -> stop.
-compile({inline, [is_trace/1, filter_ret/2]}).
%% TRUE when is_trace is missing.
is_trace(#{is_trace := false}) -> false;
is_trace(_) -> true.
filter_ret(true, Log) -> Log;
filter_ret(false, _Log) -> stop.
filters(#{type := clientid, filter := Filter, name := Name}) -> filters(#{type := clientid, filter := Filter, name := Name}) ->
[{clientid, {fun ?MODULE:filter_clientid/2, {Filter, Name}}}]; [{clientid, {fun ?MODULE:filter_clientid/2, {Filter, Name}}}];
filters(#{type := topic, filter := Filter, name := Name}) -> filters(#{type := topic, filter := Filter, name := Name}) ->

View File

@ -119,7 +119,6 @@ authenticate(#{password := Password} = Credential,
{error, Reason} -> {error, Reason} ->
?SLOG(error, #{msg => "postgresql_query_failed", ?SLOG(error, #{msg => "postgresql_query_failed",
resource => ResourceId, resource => ResourceId,
query => Query,
params => Params, params => Params,
reason => Reason}), reason => Reason}),
ignore ignore