fix(mgmt): Ensure the CLI will not create useless atom
The log level, the log handler id and the listener id all of them already exist, so it's better to avoid the user create a useless atom by mistake input
This commit is contained in:
parent
bb7476d3af
commit
14c8b5ebb1
|
@ -356,15 +356,26 @@ mnesia(_) ->
|
||||||
%% @doc Logger Command
|
%% @doc Logger Command
|
||||||
|
|
||||||
log(["set-level", Level]) ->
|
log(["set-level", Level]) ->
|
||||||
case emqx_logger:set_log_level(list_to_atom(Level)) of
|
case emqx_misc:safe_to_existing_atom(Level) of
|
||||||
|
{ok, Level1} ->
|
||||||
|
case emqx_logger:set_log_level(Level1) of
|
||||||
ok -> emqx_ctl:print("~ts~n", [Level]);
|
ok -> emqx_ctl:print("~ts~n", [Level]);
|
||||||
Error -> emqx_ctl:print("[error] set overall log level failed: ~p~n", [Error])
|
Error -> emqx_ctl:print("[error] set overall log level failed: ~p~n", [Error])
|
||||||
end;
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("[error] invalid level: ~p~n", [Level])
|
||||||
|
end;
|
||||||
log(["primary-level"]) ->
|
log(["primary-level"]) ->
|
||||||
Level = emqx_logger:get_primary_log_level(),
|
Level = emqx_logger:get_primary_log_level(),
|
||||||
emqx_ctl:print("~ts~n", [Level]);
|
emqx_ctl:print("~ts~n", [Level]);
|
||||||
log(["primary-level", Level]) ->
|
log(["primary-level", Level]) ->
|
||||||
_ = emqx_logger:set_primary_log_level(list_to_atom(Level)),
|
case emqx_misc:safe_to_existing_atom(Level) of
|
||||||
|
{ok, Level1} ->
|
||||||
|
_ = emqx_logger:set_primary_log_level(Level1),
|
||||||
|
ok;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("[error] invalid level: ~p~n", [Level])
|
||||||
|
end,
|
||||||
emqx_ctl:print("~ts~n", [emqx_logger:get_primary_log_level()]);
|
emqx_ctl:print("~ts~n", [emqx_logger:get_primary_log_level()]);
|
||||||
log(["handlers", "list"]) ->
|
log(["handlers", "list"]) ->
|
||||||
_ = [
|
_ = [
|
||||||
|
@ -381,27 +392,51 @@ log(["handlers", "list"]) ->
|
||||||
],
|
],
|
||||||
ok;
|
ok;
|
||||||
log(["handlers", "start", HandlerId]) ->
|
log(["handlers", "start", HandlerId]) ->
|
||||||
case emqx_logger:start_log_handler(list_to_atom(HandlerId)) of
|
case emqx_misc:safe_to_existing_atom(HandlerId) of
|
||||||
|
{ok, HandlerId1} ->
|
||||||
|
case emqx_logger:start_log_handler(HandlerId1) of
|
||||||
ok ->
|
ok ->
|
||||||
emqx_ctl:print("log handler ~ts started~n", [HandlerId]);
|
emqx_ctl:print("log handler ~ts started~n", [HandlerId]);
|
||||||
{error, Reason} ->
|
{error, Reason} ->
|
||||||
emqx_ctl:print("[error] failed to start log handler ~ts: ~p~n", [HandlerId, Reason])
|
emqx_ctl:print("[error] failed to start log handler ~ts: ~p~n", [
|
||||||
|
HandlerId, Reason
|
||||||
|
])
|
||||||
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("[error] invalid handler:~ts~n", [HandlerId])
|
||||||
end;
|
end;
|
||||||
log(["handlers", "stop", HandlerId]) ->
|
log(["handlers", "stop", HandlerId]) ->
|
||||||
case emqx_logger:stop_log_handler(list_to_atom(HandlerId)) of
|
case emqx_misc:safe_to_existing_atom(HandlerId) of
|
||||||
|
{ok, HandlerId1} ->
|
||||||
|
case emqx_logger:stop_log_handler(HandlerId1) of
|
||||||
ok ->
|
ok ->
|
||||||
emqx_ctl:print("log handler ~ts stopped~n", [HandlerId]);
|
emqx_ctl:print("log handler ~ts stopped~n", [HandlerId1]);
|
||||||
{error, Reason} ->
|
{error, Reason} ->
|
||||||
emqx_ctl:print("[error] failed to stop log handler ~ts: ~p~n", [HandlerId, Reason])
|
emqx_ctl:print("[error] failed to stop log handler ~ts: ~p~n", [
|
||||||
|
HandlerId1, Reason
|
||||||
|
])
|
||||||
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("[error] invalid handler:~ts~n", [HandlerId])
|
||||||
end;
|
end;
|
||||||
log(["handlers", "set-level", HandlerId, Level]) ->
|
log(["handlers", "set-level", HandlerId, Level]) ->
|
||||||
case emqx_logger:set_log_handler_level(list_to_atom(HandlerId), list_to_atom(Level)) of
|
case emqx_misc:safe_to_existing_atom(HandlerId) of
|
||||||
|
{ok, HandlerId1} ->
|
||||||
|
case emqx_misc:safe_to_existing_atom(Level) of
|
||||||
|
{ok, Level1} ->
|
||||||
|
case emqx_logger:set_log_handler_level(HandlerId1, Level1) of
|
||||||
ok ->
|
ok ->
|
||||||
#{level := NewLevel} = emqx_logger:get_log_handler(list_to_atom(HandlerId)),
|
#{level := NewLevel} = emqx_logger:get_log_handler(HandlerId1),
|
||||||
emqx_ctl:print("~ts~n", [NewLevel]);
|
emqx_ctl:print("~ts~n", [NewLevel]);
|
||||||
{error, Error} ->
|
{error, Error} ->
|
||||||
emqx_ctl:print("[error] ~p~n", [Error])
|
emqx_ctl:print("[error] ~p~n", [Error])
|
||||||
end;
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("[error] invalid level:~p~n", [Level])
|
||||||
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("[error] invalid handler:~ts~n", [HandlerId])
|
||||||
|
end;
|
||||||
log(_) ->
|
log(_) ->
|
||||||
emqx_ctl:usage(
|
emqx_ctl:usage(
|
||||||
[
|
[
|
||||||
|
@ -593,26 +628,41 @@ listeners([]) ->
|
||||||
emqx_listeners:list()
|
emqx_listeners:list()
|
||||||
);
|
);
|
||||||
listeners(["stop", ListenerId]) ->
|
listeners(["stop", ListenerId]) ->
|
||||||
case emqx_listeners:stop_listener(list_to_atom(ListenerId)) of
|
case emqx_misc:safe_to_existing_atom(ListenerId) of
|
||||||
|
{ok, ListenerId1} ->
|
||||||
|
case emqx_listeners:stop_listener(ListenerId1) of
|
||||||
ok ->
|
ok ->
|
||||||
emqx_ctl:print("Stop ~ts listener successfully.~n", [ListenerId]);
|
emqx_ctl:print("Stop ~ts listener successfully.~n", [ListenerId]);
|
||||||
{error, Error} ->
|
{error, Error} ->
|
||||||
emqx_ctl:print("Failed to stop ~ts listener: ~0p~n", [ListenerId, Error])
|
emqx_ctl:print("Failed to stop ~ts listener: ~0p~n", [ListenerId, Error])
|
||||||
end;
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("Invalid listener: ~0p~n", [ListenerId])
|
||||||
|
end;
|
||||||
listeners(["start", ListenerId]) ->
|
listeners(["start", ListenerId]) ->
|
||||||
case emqx_listeners:start_listener(list_to_atom(ListenerId)) of
|
case emqx_misc:safe_to_existing_atom(ListenerId) of
|
||||||
|
{ok, ListenerId1} ->
|
||||||
|
case emqx_listeners:start_listener(ListenerId1) of
|
||||||
ok ->
|
ok ->
|
||||||
emqx_ctl:print("Started ~ts listener successfully.~n", [ListenerId]);
|
emqx_ctl:print("Started ~ts listener successfully.~n", [ListenerId]);
|
||||||
{error, Error} ->
|
{error, Error} ->
|
||||||
emqx_ctl:print("Failed to start ~ts listener: ~0p~n", [ListenerId, Error])
|
emqx_ctl:print("Failed to start ~ts listener: ~0p~n", [ListenerId, Error])
|
||||||
end;
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("Invalid listener: ~0p~n", [ListenerId])
|
||||||
|
end;
|
||||||
listeners(["restart", ListenerId]) ->
|
listeners(["restart", ListenerId]) ->
|
||||||
case emqx_listeners:restart_listener(list_to_atom(ListenerId)) of
|
case emqx_misc:safe_to_existing_atom(ListenerId) of
|
||||||
|
{ok, ListenerId1} ->
|
||||||
|
case emqx_listeners:restart_listener(ListenerId1) of
|
||||||
ok ->
|
ok ->
|
||||||
emqx_ctl:print("Restarted ~ts listener successfully.~n", [ListenerId]);
|
emqx_ctl:print("Restarted ~ts listener successfully.~n", [ListenerId]);
|
||||||
{error, Error} ->
|
{error, Error} ->
|
||||||
emqx_ctl:print("Failed to restart ~ts listener: ~0p~n", [ListenerId, Error])
|
emqx_ctl:print("Failed to restart ~ts listener: ~0p~n", [ListenerId, Error])
|
||||||
end;
|
end;
|
||||||
|
_ ->
|
||||||
|
emqx_ctl:print("Invalid listener: ~0p~n", [ListenerId])
|
||||||
|
end;
|
||||||
listeners(_) ->
|
listeners(_) ->
|
||||||
emqx_ctl:usage([
|
emqx_ctl:usage([
|
||||||
{"listeners", "List listeners"},
|
{"listeners", "List listeners"},
|
||||||
|
|
Loading…
Reference in New Issue