Skip to content

Commit 4e062c0

Browse files
Merge pull request #1912 from rabbitmq/bump-lager-high-watermark-if-level-is-debug
rabbit_lager: Multiply high watermark by 100 when log level is debug (cherry picked from commit 5b2e000)
1 parent 9144a8b commit 4e062c0

File tree

1 file changed

+22
-13
lines changed

1 file changed

+22
-13
lines changed

src/rabbit_lager.erl

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,26 +63,35 @@ set_log_level(Level) ->
6363
set_log_level(true, Level) ->
6464
SinksAndHandlers = [{Sink, gen_event:which_handlers(Sink)} ||
6565
Sink <- lager:list_all_sinks()],
66-
set_sink_log_level(SinksAndHandlers, Level);
66+
DefaultHwm = application:get_env(lager, error_logger_hwm_original, 50),
67+
Hwm = case Level of
68+
debug -> DefaultHwm * 100;
69+
_ -> DefaultHwm
70+
end,
71+
application:set_env(lager, error_logger_hwm, Hwm),
72+
set_sink_log_level(SinksAndHandlers, Level, Hwm);
6773
set_log_level(_, Level) ->
6874
{error, {invalid_log_level, Level}}.
6975

70-
set_sink_log_level([], _Level) ->
76+
set_sink_log_level([], _Level, _Hwm) ->
7177
ok;
72-
set_sink_log_level([{Sink, Handlers}|Rest], Level) ->
73-
set_sink_handler_log_level(Sink, Handlers, Level),
74-
set_sink_log_level(Rest, Level).
78+
set_sink_log_level([{Sink, Handlers}|Rest], Level, Hwm) ->
79+
set_sink_handler_log_level(Sink, Handlers, Level, Hwm),
80+
set_sink_log_level(Rest, Level, Hwm).
7581

76-
set_sink_handler_log_level(_Sink, [], _Level) ->
82+
set_sink_handler_log_level(_Sink, [], _Level, _Hwm) ->
7783
ok;
78-
set_sink_handler_log_level(Sink, [Handler|Rest], Level) when is_atom(Handler) ->
84+
set_sink_handler_log_level(Sink, [Handler|Rest], Level, Hwm)
85+
when is_atom(Handler) andalso is_integer(Hwm) ->
86+
lager:set_loghwm(Sink, Handler, undefined, Hwm),
7987
ok = lager:set_loglevel(Sink, Handler, undefined, Level),
80-
set_sink_handler_log_level(Sink, Rest, Level);
81-
set_sink_handler_log_level(Sink, [{Handler, Id}|Rest], Level) ->
88+
set_sink_handler_log_level(Sink, Rest, Level, Hwm);
89+
set_sink_handler_log_level(Sink, [{Handler, Id}|Rest], Level, Hwm) ->
90+
lager:set_loghwm(Sink, Handler, Id, Hwm),
8291
ok = lager:set_loglevel(Sink, Handler, Id, Level),
83-
set_sink_handler_log_level(Sink, Rest, Level);
84-
set_sink_handler_log_level(Sink, [_|Rest], Level) ->
85-
set_sink_handler_log_level(Sink, Rest, Level).
92+
set_sink_handler_log_level(Sink, Rest, Level, Hwm);
93+
set_sink_handler_log_level(Sink, [_|Rest], Level, Hwm) ->
94+
set_sink_handler_log_level(Sink, Rest, Level, Hwm).
8695

8796
log_locations() ->
8897
ensure_lager_configured(),
@@ -293,7 +302,7 @@ configure_lager() ->
293302
{ok, Val} when is_integer(Val) andalso Val < 1000 ->
294303
ok = application:set_env(lager, error_logger_hwm, 1000),
295304
ok = application:set_env(lager, error_logger_hwm_original, Val);
296-
{ok, Val} ->
305+
{ok, Val} when is_integer(Val) ->
297306
ok = application:set_env(lager, error_logger_hwm_original, Val),
298307
ok
299308
end,

0 commit comments

Comments
 (0)