From 8b31466538d17cdd57b4386791af881e1f18dbc5 Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Fri, 14 Jan 2022 15:01:04 +0800 Subject: [PATCH] chore(trace): replace trace_filter by is_trace --- apps/emqx/include/logger.hrl | 7 ++--- .../src/emqx_trace/emqx_trace_handler.erl | 28 +++++++++---------- .../src/simple_authn/emqx_authn_pgsql.erl | 1 - 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/apps/emqx/include/logger.hrl b/apps/emqx/include/logger.hrl index 595957f17..496675005 100644 --- a/apps/emqx/include/logger.hrl +++ b/apps/emqx/include/logger.hrl @@ -82,11 +82,10 @@ case persistent_term:get(?TRACE_FILTER, undefined) of undefined -> ok; [] -> ok; - List -> - emqx_trace:log(List, Msg, Meta#{trace_tag => Tag}) + List -> emqx_trace:log(List, Msg, Meta#{trace_tag => Tag}) end, - ?SLOG(debug, (emqx_trace_formatter:format_meta(Meta))#{msg => Msg, trace_tag => Tag}, - #{trace_filter => ignore}) + ?SLOG(debug, (emqx_trace_formatter:format_meta(Meta))#{msg => Msg, tag => Tag}, + #{is_trace => false}) end). %% print to 'user' group leader diff --git a/apps/emqx/src/emqx_trace/emqx_trace_handler.erl b/apps/emqx/src/emqx_trace/emqx_trace_handler.erl index 676026448..df7d1059e 100644 --- a/apps/emqx/src/emqx_trace/emqx_trace_handler.erl +++ b/apps/emqx/src/emqx_trace/emqx_trace_handler.erl @@ -120,28 +120,28 @@ running() -> lists:foldl(fun filter_traces/2, [], emqx_logger:get_log_handlers(started)). -spec filter_clientid(logger:log_event(), {binary(), atom()}) -> logger:log_event() | stop. -filter_clientid(#{level := debug, meta := #{trace_filter := _}}, _) -> stop; -filter_clientid(#{meta := #{clientid := ClientId}} = Log, {ClientId, _Name}) -> Log; +filter_clientid(#{meta := Meta = #{clientid := ClientId}} = Log, {MatchId, _Name}) -> + filter_ret(ClientId =:= MatchId andalso is_trace(Meta), Log); filter_clientid(_Log, _ExpectId) -> stop. -spec filter_topic(logger:log_event(), {binary(), atom()}) -> logger:log_event() | stop. -filter_topic(#{level := debug, meta := #{trace_filter := _}}, _) -> stop; -filter_topic(#{meta := #{topic := Topic}} = Log, {TopicFilter, _Name}) -> - case emqx_topic:match(Topic, TopicFilter) of - true -> Log; - false -> stop - end; +filter_topic(#{meta := Meta = #{topic := Topic}} = Log, {TopicFilter, _Name}) -> + filter_ret(is_trace(Meta) andalso emqx_topic:match(Topic, TopicFilter), Log); filter_topic(_Log, _ExpectId) -> 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 := #{peername := Peername}} = Log, {IP, _Name}) -> - case lists:prefix(IP, Peername) of - true -> Log; - false -> stop - end; +filter_ip_address(#{meta := Meta = #{peername := Peername}} = Log, {IP, _Name}) -> + filter_ret(is_trace(Meta) andalso lists:prefix(IP, Peername), Log); 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}) -> [{clientid, {fun ?MODULE:filter_clientid/2, {Filter, Name}}}]; filters(#{type := topic, filter := Filter, name := Name}) -> diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl index 0bcca0ef6..2724f4152 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl @@ -119,7 +119,6 @@ authenticate(#{password := Password} = Credential, {error, Reason} -> ?SLOG(error, #{msg => "postgresql_query_failed", resource => ResourceId, - query => Query, params => Params, reason => Reason}), ignore