diff options
| author | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2019-03-18 11:37:05 +0100 |
|---|---|---|
| committer | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2019-03-18 11:37:05 +0100 |
| commit | 6653a0cfbf9d5f99cd3e8e1ac865494279dd577b (patch) | |
| tree | 043458b3a463e40e51172d62ab0e6268e5ca8133 | |
| parent | a58bc89f73c9af27fda43adcb2639b1f474b5aa5 (diff) | |
| download | rabbitmq-server-git-6653a0cfbf9d5f99cd3e8e1ac865494279dd577b.tar.gz | |
rabbit_lager: Multiply high watermark on startup as well
... if the log level is set to `debug` in the configuration.
This allows us to revert commit rabbitmq/rabbitmq-common@c04944235b.
References #1912.
| -rw-r--r-- | src/rabbit_lager.erl | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/rabbit_lager.erl b/src/rabbit_lager.erl index 45f2cfbc40..11269d157d 100644 --- a/src/rabbit_lager.erl +++ b/src/rabbit_lager.erl @@ -43,7 +43,11 @@ start_logger() -> broker_is_started() -> {ok, HwmCurrent} = application:get_env(lager, error_logger_hwm), - {ok, HwmOrig} = application:get_env(lager, error_logger_hwm_original), + {ok, HwmOrig0} = application:get_env(lager, error_logger_hwm_original), + HwmOrig = case get_most_verbose_log_level() of + debug -> HwmOrig0 * 100; + _ -> HwmOrig0 + end, case HwmOrig =:= HwmCurrent of false -> ok = application:set_env(lager, error_logger_hwm, HwmOrig), @@ -603,3 +607,24 @@ maybe_remove_logger_handler() -> error_logger:error_msg("calling ~p:~p failed: ~p:~p~n", [M, F, Err, Reason]) end. + +get_most_verbose_log_level() -> + {ok, HandlersA} = application:get_env(lager, handlers), + {ok, ExtraSinks} = application:get_env(lager, extra_sinks), + HandlersB = lists:append( + [H || {_, Keys} <- ExtraSinks, + {handlers, H} <- Keys]), + get_most_verbose_log_level(HandlersA ++ HandlersB, + lager_util:level_to_num(none)). + +get_most_verbose_log_level([{_, Props} | Rest], MostVerbose) -> + LogLevel = proplists:get_value(level, Props, info), + LogLevelNum = lager_util:level_to_num(LogLevel), + case LogLevelNum > MostVerbose of + true -> + get_most_verbose_log_level(Rest, LogLevelNum); + false -> + get_most_verbose_log_level(Rest, MostVerbose) + end; +get_most_verbose_log_level([], MostVerbose) -> + lager_util:num_to_level(MostVerbose). |
