Update proc meta-data for empty clientid (#1980)
This commit is contained in:
parent
09025338d4
commit
eeb0cab3e3
|
@ -4,7 +4,6 @@
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
-ifdef(LOG_HEADER).
|
-ifdef(LOG_HEADER).
|
||||||
%% with header
|
%% with header
|
||||||
|
|
||||||
-define(LOG(Level, Format, Args),
|
-define(LOG(Level, Format, Args),
|
||||||
begin
|
begin
|
||||||
(logger:log(Level,#{},#{report_cb =>
|
(logger:log(Level,#{},#{report_cb =>
|
||||||
|
|
|
@ -153,7 +153,7 @@ init([Transport, RawSocket, Options]) ->
|
||||||
ok = emqx_gc:init(GcPolicy),
|
ok = emqx_gc:init(GcPolicy),
|
||||||
ok = emqx_misc:init_proc_mng_policy(Zone),
|
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}],
|
gen_server:enter_loop(?MODULE, [{hibernate_after, IdleTimout}],
|
||||||
State, self(), IdleTimout);
|
State, self(), IdleTimout);
|
||||||
{error, Reason} ->
|
{error, Reason} ->
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
-export([error/1, error/2, error/3]).
|
-export([error/1, error/2, error/3]).
|
||||||
-export([critical/1, critical/2, critical/3]).
|
-export([critical/1, critical/2, critical/3]).
|
||||||
|
|
||||||
-export([add_metadata_peername/1, add_metadata_client_id/1]).
|
-export([set_metadata_peername/1, set_metadata_client_id/1]).
|
||||||
-export([add_proc_metadata/1]).
|
-export([set_proc_metadata/1]).
|
||||||
|
|
||||||
-export([get_primary_log_level/0, set_primary_log_level/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]).
|
-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) ->
|
critical(Metadata, Format, Args) when is_map(Metadata) ->
|
||||||
logger:critical(Format, Args, Metadata).
|
logger:critical(Format, Args, Metadata).
|
||||||
|
|
||||||
|
set_metadata_client_id(ClientId) ->
|
||||||
|
set_proc_metadata(#{client_id => ClientId}).
|
||||||
|
|
||||||
add_metadata_client_id(ClientId) ->
|
set_metadata_peername(Peername) ->
|
||||||
add_proc_metadata(#{client_id => ClientId}).
|
set_proc_metadata(#{peername => Peername}).
|
||||||
|
|
||||||
add_metadata_peername(Peername) ->
|
set_proc_metadata(Meta) ->
|
||||||
add_proc_metadata(#{peername => Peername}).
|
logger:update_process_metadata(Meta).
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
get_primary_log_level() ->
|
get_primary_log_level() ->
|
||||||
#{level := Level} = logger:get_primary_config(),
|
#{level := Level} = logger:get_primary_config(),
|
||||||
|
|
|
@ -292,7 +292,7 @@ process_packet(?CONNECT_PACKET(
|
||||||
|
|
||||||
NewClientId = maybe_use_username_as_clientid(ClientId, Username, PState),
|
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...
|
%% TODO: Mountpoint...
|
||||||
%% Msg -> emqx_mountpoint:mount(MountPoint, Msg)
|
%% Msg -> emqx_mountpoint:mount(MountPoint, Msg)
|
||||||
|
@ -315,6 +315,7 @@ process_packet(?CONNECT_PACKET(
|
||||||
{ok, IsSuper} ->
|
{ok, IsSuper} ->
|
||||||
%% Maybe assign a clientId
|
%% Maybe assign a clientId
|
||||||
PState3 = maybe_assign_client_id(PState2#pstate{is_super = IsSuper}),
|
PState3 = maybe_assign_client_id(PState2#pstate{is_super = IsSuper}),
|
||||||
|
emqx_logger:set_metadata_client_id(PState3#pstate.client_id),
|
||||||
%% Open session
|
%% Open session
|
||||||
case try_open_session(PState3) of
|
case try_open_session(PState3) of
|
||||||
{ok, SPid, SP} ->
|
{ok, SPid, SP} ->
|
||||||
|
|
|
@ -343,7 +343,7 @@ init([Parent, #{zone := Zone,
|
||||||
max_inflight := MaxInflight,
|
max_inflight := MaxInflight,
|
||||||
topic_alias_maximum := TopicAliasMaximum,
|
topic_alias_maximum := TopicAliasMaximum,
|
||||||
will_msg := WillMsg}]) ->
|
will_msg := WillMsg}]) ->
|
||||||
emqx_logger:add_proc_metadata(#{client_id => ClientId}),
|
emqx_logger:set_metadata_client_id(ClientId),
|
||||||
process_flag(trap_exit, true),
|
process_flag(trap_exit, true),
|
||||||
true = link(ConnPid),
|
true = link(ConnPid),
|
||||||
IdleTimout = get_env(Zone, idle_timeout, 30000),
|
IdleTimout = get_env(Zone, idle_timeout, 30000),
|
||||||
|
|
|
@ -136,7 +136,7 @@ websocket_init(#state{request = Req, options = Options}) ->
|
||||||
IdleTimout = emqx_zone:get_env(Zone, idle_timeout, 30000),
|
IdleTimout = emqx_zone:get_env(Zone, idle_timeout, 30000),
|
||||||
lists:foreach(fun(Stat) -> put(Stat, 0) end, ?SOCK_STATS),
|
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,
|
{ok, #state{peername = Peername,
|
||||||
sockname = Sockname,
|
sockname = Sockname,
|
||||||
parser_state = ParserState,
|
parser_state = ParserState,
|
||||||
|
|
Loading…
Reference in New Issue