Skip to content

Commit ec6fbad

Browse files
lukebakkenmergify-bot
authored andcommitted
Add basic filter for "Discarding message..." messages
Fixes #4557 (cherry picked from commit 44d9a29) (cherry picked from commit 9bb9275)
1 parent d1936df commit ec6fbad

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_early_logging.erl

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
translate_formatter_conf/2,
2424
translate_journald_fields_conf/2]).
2525
-export([filter_log_event/2]).
26+
-export([filter_discarded_message/2]).
2627

2728
-ifdef(TEST).
2829
-export([levels/0,
@@ -51,7 +52,7 @@ is_configured() ->
5152
persistent_term:get(?CONFIGURED_KEY, false).
5253

5354
add_rmqlog_filter(LogLevels) ->
54-
add_erlang_specific_filters(LogLevels),
55+
ok = add_primary_filters(),
5556
FilterConfig0 = lists:foldl(
5657
fun
5758
({_, V}, FC) when is_boolean(V) -> FC;
@@ -67,22 +68,23 @@ add_rmqlog_filter(LogLevels) ->
6768
ok = logger:set_primary_config(level, all),
6869
ok = persistent_term:put(?CONFIGURED_KEY, true).
6970

70-
add_erlang_specific_filters(_) ->
71-
_ = logger:add_handler_filter(
72-
default, progress_reports, {fun logger_filters:progress/2, stop}),
73-
MsgFilter = fun(#{level := error, meta := #{error_logger := #{emulator := true, tag := error}}, msg := {"~s~n", Msg}}, _FilterArg) ->
74-
case string:find(Msg, "Discarding message ") of
75-
nomatch ->
76-
ignore;
77-
_ ->
78-
stop
79-
end;
80-
(_LogEvent, _FilterArg) ->
81-
ignore
82-
end,
83-
_ = logger:add_handler_filter(
84-
default, discarded_messages, {MsgFilter, undefined}),
85-
ok.
71+
add_primary_filters() ->
72+
ok = logger:add_primary_filter(
73+
progress_reports, {fun logger_filters:progress/2, stop}),
74+
ok = logger:add_primary_filter(
75+
discarded_messages, {fun filter_discarded_message/2, stop}).
76+
77+
filter_discarded_message(#{level := error,
78+
meta := #{error_logger := #{emulator := true, tag := error}},
79+
msg := {"~s~n", Msg}}, OnMatch) ->
80+
case string:find(Msg, "Discarding message") of
81+
nomatch ->
82+
ignore;
83+
_ ->
84+
OnMatch
85+
end;
86+
filter_discarded_message(_LogEvent, _OnMatch) ->
87+
ignore.
8688

8789
filter_log_event(
8890
#{meta := #{domain := ?RMQLOG_DOMAIN_GLOBAL}} = LogEvent,

0 commit comments

Comments
 (0)