diff options
| author | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2021-08-11 15:23:29 +0200 |
|---|---|---|
| committer | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2021-08-11 15:32:39 +0200 |
| commit | 2e955b0a5098aca35b0092f771ac80c0fe3efcac (patch) | |
| tree | 573c2a648e08fdbb6200d0c15390194542870b99 | |
| parent | 62d82e166042cb349c1931d6df59a8554ca21324 (diff) | |
| download | rabbitmq-server-git-2e955b0a5098aca35b0092f771ac80c0fe3efcac.tar.gz | |
Logging: Disable burst limit if the log level is set to `debug`
Otherwise, messages are being dropped, in particular during RabbitMQ
startup because of the amount of debug messages logged in that phase.
Burst limit is enabled again if the log level is set to `info` or
higher.
| -rw-r--r-- | deps/rabbit/src/rabbit_prelaunch_logging.erl | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/deps/rabbit/src/rabbit_prelaunch_logging.erl b/deps/rabbit/src/rabbit_prelaunch_logging.erl index 0dae47adde..c67b81cdcb 100644 --- a/deps/rabbit/src/rabbit_prelaunch_logging.erl +++ b/deps/rabbit/src/rabbit_prelaunch_logging.erl @@ -268,7 +268,7 @@ set_log_level(Level) -> %% of them to the new level. lists:foreach( fun - (#{id := Id, filters := Filters}) -> + (#{id := Id, filters := Filters, config := Config}) -> ?LOG_DEBUG( "Logging: changing '~s' handler log level to ~s", [Id, Level], @@ -302,14 +302,18 @@ set_log_level(Level) -> (Filter) -> Filter end, Filters), + Config1 = adjust_burst_limit(Config, Level), logger:set_handler_config(Id, filters, Filters1), + logger:set_handler_config(Id, config, Config1), logger:set_handler_config(Id, level, Level), ok; - (#{id := Id}) -> + (#{id := Id, config := Config}) -> ?LOG_DEBUG( "Logging: changing '~s' handler log level to ~s", [Id, Level], #{domain => ?RMQLOG_DOMAIN_GLOBAL}), + Config1 = adjust_burst_limit(Config, Level), + logger:set_handler_config(Id, config, Config1), logger:set_handler_config(Id, level, Level), ok end, logger:get_handler_config()), @@ -1424,9 +1428,21 @@ adjust_log_levels(Handlers) -> fun(_, LvlA, LvlB) -> get_less_severe_level(LvlA, LvlB) end, GeneralLevel, FilterConfig), - Handler#{level => Level} + Handler1 = Handler#{level => Level}, + adjust_burst_limit(Handler1) end, Handlers). +adjust_burst_limit(#{config := #{burst_limit_enable := _}} = Handler) -> + Handler; +adjust_burst_limit(#{level := debug, config := Config} = Handler) -> + Config1 = Config#{burst_limit_enable => false}, + Handler#{config => Config1}; +adjust_burst_limit(Handler) when is_map(Handler) -> + Handler. + +adjust_burst_limit(Config, Level) -> + Config#{burst_limit_enable => Level =/= debug}. + -spec assign_handler_ids(#{handler_key() => logger:handler_config()}) -> [logger:handler_config()]. |
