summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2018-01-12 03:29:58 +0300
committerGitHub <noreply@github.com>2018-01-12 03:29:58 +0300
commitf5024534f36924a8a4756372760c8a1615dfc456 (patch)
treeb8fda6ee61bf1d20c47c452fabacf66b4c968a7a
parentdca0ff11f89017663c1db0f49d09b011f9b27c9a (diff)
parentb33701345218207454191afe2242107372a9cace (diff)
downloadrabbitmq-server-git-f5024534f36924a8a4756372760c8a1615dfc456.tar.gz
Merge pull request #1472 from rabbitmq/rabbitmq-server-1471v3.7.3-rc.1
Temporarily raise log high water mark when node boots
-rw-r--r--src/rabbit.erl1
-rw-r--r--src/rabbit_lager.erl30
2 files changed, 26 insertions, 5 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 077657bfca..745ba4631d 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -320,6 +320,7 @@ broker_start() ->
ToBeLoaded = Plugins ++ ?APPS,
start_apps(ToBeLoaded),
maybe_sd_notify(),
+ ok = rabbit_lager:broker_is_started(),
ok = log_broker_started(rabbit_plugins:strictly_plugins(rabbit_plugins:active())).
%% Try to send systemd ready notification if it makes sense in the
diff --git a/src/rabbit_lager.erl b/src/rabbit_lager.erl
index b55d6a173a..9af1ed198b 100644
--- a/src/rabbit_lager.erl
+++ b/src/rabbit_lager.erl
@@ -19,7 +19,8 @@
-include("rabbit_log.hrl").
%% API
--export([start_logger/0, log_locations/0, fold_sinks/2]).
+-export([start_logger/0, log_locations/0, fold_sinks/2,
+ broker_is_started/0]).
%% For test purposes
-export([configure_lager/0]).
@@ -39,6 +40,21 @@ start_logger() ->
end, ok),
ensure_log_working().
+broker_is_started() ->
+ {ok, HwmCurrent} = application:get_env(lager, error_logger_hwm),
+ {ok, HwmOrig} = application:get_env(lager, error_logger_hwm_original),
+ case HwmOrig =:= HwmCurrent of
+ false ->
+ ok = application:set_env(lager, error_logger_hwm, HwmOrig),
+ Handlers = gen_event:which_handlers(lager_event),
+ lists:foreach(fun(Handler) ->
+ lager:set_loghwm(Handler, HwmOrig)
+ end, Handlers),
+ ok;
+ _ ->
+ ok
+ end.
+
log_locations() ->
ensure_lager_configured(),
DefaultHandlers = application:get_env(lager, handlers, []),
@@ -233,10 +249,14 @@ configure_lager() ->
case application:get_env(lager, error_logger_hwm) of
undefined ->
- application:set_env(lager, error_logger_hwm, 100);
- {ok, Val} when is_integer(Val) andalso Val =< 100 ->
- application:set_env(lager, error_logger_hwm, 100);
- {ok, _Val} ->
+ application:set_env(lager, error_logger_hwm, 1000),
+ % NB: 50 is the default value in lager.app.src
+ application:set_env(lager, error_logger_hwm_original, 50);
+ {ok, Val} when is_integer(Val) andalso Val < 1000 ->
+ application:set_env(lager, error_logger_hwm, 1000),
+ application:set_env(lager, error_logger_hwm_original, Val);
+ {ok, Val} ->
+ application:set_env(lager, error_logger_hwm_original, Val),
ok
end,
ok.