Update proc meta-data for empty clientid (#1980)

This commit is contained in:
Shawn 2018-11-23 18:11:46 +08:00 committed by turtleDeng
parent 09025338d4
commit eeb0cab3e3
6 changed files with 13 additions and 19 deletions

View File

@ -4,7 +4,6 @@
%%--------------------------------------------------------------------
-ifdef(LOG_HEADER).
%% with header
-define(LOG(Level, Format, Args),
begin
(logger:log(Level,#{},#{report_cb =>

View File

@ -153,7 +153,7 @@ init([Transport, RawSocket, Options]) ->
ok = emqx_gc:init(GcPolicy),
ok = emqx_misc:init_proc_mng_policy(Zone),
emqx_logger:add_metadata_peername(esockd_net:format(Peername)),
emqx_logger:set_metadata_peername(esockd_net:format(Peername)),
gen_server:enter_loop(?MODULE, [{hibernate_after, IdleTimout}],
State, self(), IdleTimout);
{error, Reason} ->

View File

@ -22,8 +22,8 @@
-export([error/1, error/2, error/3]).
-export([critical/1, critical/2, critical/3]).
-export([add_metadata_peername/1, add_metadata_client_id/1]).
-export([add_proc_metadata/1]).
-export([set_metadata_peername/1, set_metadata_client_id/1]).
-export([set_proc_metadata/1]).
-export([get_primary_log_level/0, set_primary_log_level/1]).
-export([get_log_handlers/0, get_log_handler/1, set_log_handler_level/2]).
@ -63,20 +63,14 @@ critical(Format, Args) ->
critical(Metadata, Format, Args) when is_map(Metadata) ->
logger:critical(Format, Args, Metadata).
set_metadata_client_id(ClientId) ->
set_proc_metadata(#{client_id => ClientId}).
add_metadata_client_id(ClientId) ->
add_proc_metadata(#{client_id => ClientId}).
set_metadata_peername(Peername) ->
set_proc_metadata(#{peername => Peername}).
add_metadata_peername(Peername) ->
add_proc_metadata(#{peername => Peername}).
add_proc_metadata(Meta) ->
case logger:get_process_metadata() of
undefined ->
logger:set_process_metadata(Meta);
OldMeta ->
logger:set_process_metadata(maps:merge(OldMeta, Meta))
end.
set_proc_metadata(Meta) ->
logger:update_process_metadata(Meta).
get_primary_log_level() ->
#{level := Level} = logger:get_primary_config(),

View File

@ -292,7 +292,7 @@ process_packet(?CONNECT_PACKET(
NewClientId = maybe_use_username_as_clientid(ClientId, Username, PState),
emqx_logger:add_metadata_client_id(NewClientId),
emqx_logger:set_metadata_client_id(NewClientId),
%% TODO: Mountpoint...
%% Msg -> emqx_mountpoint:mount(MountPoint, Msg)
@ -315,6 +315,7 @@ process_packet(?CONNECT_PACKET(
{ok, IsSuper} ->
%% Maybe assign a clientId
PState3 = maybe_assign_client_id(PState2#pstate{is_super = IsSuper}),
emqx_logger:set_metadata_client_id(PState3#pstate.client_id),
%% Open session
case try_open_session(PState3) of
{ok, SPid, SP} ->

View File

@ -343,7 +343,7 @@ init([Parent, #{zone := Zone,
max_inflight := MaxInflight,
topic_alias_maximum := TopicAliasMaximum,
will_msg := WillMsg}]) ->
emqx_logger:add_proc_metadata(#{client_id => ClientId}),
emqx_logger:set_metadata_client_id(ClientId),
process_flag(trap_exit, true),
true = link(ConnPid),
IdleTimout = get_env(Zone, idle_timeout, 30000),

View File

@ -136,7 +136,7 @@ websocket_init(#state{request = Req, options = Options}) ->
IdleTimout = emqx_zone:get_env(Zone, idle_timeout, 30000),
lists:foreach(fun(Stat) -> put(Stat, 0) end, ?SOCK_STATS),
emqx_logger:add_metadata_peername(esockd_net:format(Peername)),
emqx_logger:set_metadata_peername(esockd_net:format(Peername)),
{ok, #state{peername = Peername,
sockname = Sockname,
parser_state = ParserState,