aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_system_monitor.erl
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-10-18 19:12:32 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-10-18 19:12:32 +0300
commite4a8afb15d6c995b294a60ed150b86775e2f6805 (patch)
treef1a739fe3737fce2cf0ea79740c9ebee92290287 /src/ejabberd_system_monitor.erl
parentFlatten strings in ejabberd_xmlrpc error results (diff)
Replace lager with built-in new logging API
This change requires Erlang/OTP-21.0 or higher. The commit also deprecates the following options: - log_rotate_date - log_rate_limit Furthermore, these options have no effect. The logger now fully relies on log_rotate_size, that cannot be 0 anymore. The loglevel option now accepts levels in literal formats. Those are: none, emergency, alert, critical, error, warning, notice, info, debug. Old integer values (0-5) are still supported and automatically converted into literal format.
Diffstat (limited to 'src/ejabberd_system_monitor.erl')
-rw-r--r--src/ejabberd_system_monitor.erl16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/ejabberd_system_monitor.erl b/src/ejabberd_system_monitor.erl
index ff9903b42..7e7e52b8e 100644
--- a/src/ejabberd_system_monitor.erl
+++ b/src/ejabberd_system_monitor.erl
@@ -36,9 +36,7 @@
-export([init/1, handle_event/2, handle_call/2,
handle_info/2, terminate/2, code_change/3]).
-%% We don't use ejabberd logger because lager can be overloaded
-%% too and alarm_handler may get stuck.
-%%-include("logger.hrl").
+-include("logger.hrl").
-define(CHECK_INTERVAL, timer:seconds(30)).
@@ -93,7 +91,7 @@ handle_event({clear_alarm, system_memory_high_watermark}, State) ->
handle_event({set_alarm, {process_memory_high_watermark, Pid}}, State) ->
case proc_stat(Pid, get_app_pids()) of
#proc_stat{name = Name} = ProcStat ->
- error_logger:warning_msg(
+ ?WARNING_MSG(
"Process ~p consumes more than 5% of OS memory (~ts)~n",
[Name, format_proc(ProcStat)]),
handle_overload(State),
@@ -104,7 +102,7 @@ handle_event({set_alarm, {process_memory_high_watermark, Pid}}, State) ->
handle_event({clear_alarm, process_memory_high_watermark}, State) ->
{ok, State};
handle_event(Event, State) ->
- error_logger:warning_msg("unexpected event: ~p~n", [Event]),
+ ?WARNING_MSG("unexpected event: ~p~n", [Event]),
{ok, State}.
handle_call(_Request, State) ->
@@ -114,7 +112,7 @@ handle_info({timeout, _TRef, handle_overload}, State) ->
handle_overload(State),
{ok, restart_timer(State)};
handle_info(Info, State) ->
- error_logger:warning_msg("unexpected info: ~p~n", [Info]),
+ ?WARNING_MSG("unexpected info: ~p~n", [Info]),
{ok, State}.
terminate(_Reason, _State) ->
@@ -137,7 +135,7 @@ handle_overload(_State, Procs) ->
MaxMsgs = ejabberd_option:oom_queue(),
if TotalMsgs >= MaxMsgs ->
SortedStats = lists:reverse(lists:keysort(#proc_stat.qlen, Stats)),
- error_logger:warning_msg(
+ ?WARNING_MSG(
"The system is overloaded with ~b messages "
"queued by ~b process(es) (~b%) "
"from the following applications: ~ts; "
@@ -272,7 +270,7 @@ do_kill(Stats, Threshold) ->
when Len >= Threshold ->
case lists:member(App, excluded_apps()) of
true ->
- error_logger:warning_msg(
+ ?WARNING_MSG(
"Unable to kill process ~p from whitelisted "
"application ~p~n", [Name, App]),
false;
@@ -289,7 +287,7 @@ do_kill(Stats, Threshold) ->
end, Stats),
TotalKilled = length(Killed),
if TotalKilled > 0 ->
- error_logger:error_msg(
+ ?ERROR_MSG(
"Killed ~b process(es) consuming more than ~b message(s) each~n",
[TotalKilled, Threshold]);
true ->