File rabbitmq-server-3.6.16-logger.patch of Package rabbitmq-server
diff -Ndurp rabbitmq-server-3.6.16/src/rabbit.erl rabbitmq-server-3.6.16-logger/src/rabbit.erl
--- rabbitmq-server-3.6.16/src/rabbit.erl 2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-logger/src/rabbit.erl 2019-07-07 23:37:24.459360234 +0300
@@ -852,8 +852,27 @@ insert_default_data() ->
%%---------------------------------------------------------------------------
%% logging
+-ifdef(OTP_RELEASE).
+-if (?OTP_RELEASE >= 21).
+-define(ERLANG_LOGGER, ?OTP_RELEASE).
+-endif.
+-endif.
+
+-ifdef(ERLANG_LOGGER).
+get_log_handlers() ->
+ whereis(error_logger) =:= undefined andalso begin
+ error_logger:start(),
+ logger:remove_handler(default),
+ error_logger:add_report_handler(error_logger_tty_h),
+ error_logger:add_report_handler(sasl_report_tty_h)
+ end,
+ gen_event:which_handlers(error_logger).
+-else.
+get_log_handlers() -> gen_event:which_handlers(error_logger).
+-endif.
+
ensure_working_log_handlers() ->
- Handlers = gen_event:which_handlers(error_logger),
+ Handlers = get_log_handlers(),
ok = ensure_working_log_handler(error_logger_tty_h,
rabbit_error_logger_file_h,
error_logger_tty_h,