Skip to content

Commit 6653a0c

Browse files
committed
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.
1 parent a58bc89 commit 6653a0c

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

src/rabbit_lager.erl

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ start_logger() ->
4343

4444
broker_is_started() ->
4545
{ok, HwmCurrent} = application:get_env(lager, error_logger_hwm),
46-
{ok, HwmOrig} = application:get_env(lager, error_logger_hwm_original),
46+
{ok, HwmOrig0} = application:get_env(lager, error_logger_hwm_original),
47+
HwmOrig = case get_most_verbose_log_level() of
48+
debug -> HwmOrig0 * 100;
49+
_ -> HwmOrig0
50+
end,
4751
case HwmOrig =:= HwmCurrent of
4852
false ->
4953
ok = application:set_env(lager, error_logger_hwm, HwmOrig),
@@ -603,3 +607,24 @@ maybe_remove_logger_handler() ->
603607
error_logger:error_msg("calling ~p:~p failed: ~p:~p~n",
604608
[M, F, Err, Reason])
605609
end.
610+
611+
get_most_verbose_log_level() ->
612+
{ok, HandlersA} = application:get_env(lager, handlers),
613+
{ok, ExtraSinks} = application:get_env(lager, extra_sinks),
614+
HandlersB = lists:append(
615+
[H || {_, Keys} <- ExtraSinks,
616+
{handlers, H} <- Keys]),
617+
get_most_verbose_log_level(HandlersA ++ HandlersB,
618+
lager_util:level_to_num(none)).
619+
620+
get_most_verbose_log_level([{_, Props} | Rest], MostVerbose) ->
621+
LogLevel = proplists:get_value(level, Props, info),
622+
LogLevelNum = lager_util:level_to_num(LogLevel),
623+
case LogLevelNum > MostVerbose of
624+
true ->
625+
get_most_verbose_log_level(Rest, LogLevelNum);
626+
false ->
627+
get_most_verbose_log_level(Rest, MostVerbose)
628+
end;
629+
get_most_verbose_log_level([], MostVerbose) ->
630+
lager_util:num_to_level(MostVerbose).

0 commit comments

Comments
 (0)