aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_admin.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_admin.erl')
-rw-r--r--src/ejabberd_admin.erl36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl
index 3961c56ce..7776af3a1 100644
--- a/src/ejabberd_admin.erl
+++ b/src/ejabberd_admin.erl
@@ -142,20 +142,16 @@ get_commands_spec() ->
desc = "Get the current loglevel",
module = ejabberd_logger, function = get,
result_desc = "Tuple with the log level number, its keyword and description",
- result_example = {4, info, <<"Info">>},
+ result_example = warning,
args = [],
- result = {leveltuple, {tuple, [{levelnumber, integer},
- {levelatom, atom},
- {leveldesc, string}
- ]}}},
+ result = {levelatom, atom}},
#ejabberd_commands{name = set_loglevel, tags = [logs, server],
- desc = "Set the loglevel (0 to 5)",
+ desc = "Set the loglevel",
module = ?MODULE, function = set_loglevel,
- args_desc = ["Integer of the desired logging level, between 1 and 5"],
- args_example = [5],
- result_desc = "The type of logger module used",
- result_example = lager,
- args = [{loglevel, integer}],
+ args_desc = ["Desired logging level: none | emergency | alert | critical "
+ "| error | warning | notice | info | debug"],
+ args_example = [debug],
+ args = [{loglevel, string}],
result = {res, rescode}},
#ejabberd_commands{name = update_list, tags = [server],
@@ -410,15 +406,23 @@ status() ->
{Is_running, String1 ++ String2}.
reopen_log() ->
- ejabberd_hooks:run(reopen_log_hook, []),
- ejabberd_logger:reopen_log().
+ ejabberd_hooks:run(reopen_log_hook, []).
rotate_log() ->
- ejabberd_hooks:run(rotate_log_hook, []),
- ejabberd_logger:rotate_log().
+ ejabberd_hooks:run(rotate_log_hook, []).
set_loglevel(LogLevel) ->
- ejabberd_logger:set(LogLevel).
+ try binary_to_existing_atom(iolist_to_binary(LogLevel), latin1) of
+ Level ->
+ case lists:member(Level, ejabberd_logger:loglevels()) of
+ true ->
+ ejabberd_logger:set(Level);
+ false ->
+ {error, "Invalid log level"}
+ end
+ catch _:_ ->
+ {error, "Invalid log level"}
+ end.
%%%
%%% Stop Kindly