diff options
| -rw-r--r-- | src/rabbit_error_logger_file_h.erl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl index 1aca0827fb..3db0ff2e77 100644 --- a/src/rabbit_error_logger_file_h.erl +++ b/src/rabbit_error_logger_file_h.erl @@ -49,13 +49,22 @@ init({File, []}) -> %% Used only when taking over from the tty handler init({{File, []}, _}) -> init(File); -init({File, {error_logger, []}}) -> +init({File, {error_logger, Buf}}) -> rabbit_misc:ensure_parent_dirs_exist(File), - init_file(File, error_logger); + init_file(File, {error_logger, Buf}); init(File) -> rabbit_misc:ensure_parent_dirs_exist(File), init_file(File, []). +init_file(File, {error_logger, Buf}) -> + case init_file(File, error_logger) of + {ok, {Fd, File, PrevHandler}} -> + [handle_event(Event, {Fd, File, PrevHandler}) + || {_, Event} <- lists:reverse(Buf)], + {ok, {Fd, File, PrevHandler}}; + Error -> + Error + end; init_file(File, PrevHandler) -> process_flag(trap_exit, true), case file:open(File, [append]) of |
