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
5354add_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,10 +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- 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 .
7488
7589filter_log_event (
7690 #{meta := #{domain := ? RMQLOG_DOMAIN_GLOBAL }} = LogEvent ,
0 commit comments