diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_error_logger_file_h.erl | 15 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 46f7d9d1f3..c855a806eb 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -446,7 +446,7 @@ ensure_working_log_handlers() -> error_logger_tty_h, log_location(kernel), Handlers), - + error_logger:delete_report_handler(error_logger_tty_h), ok = ensure_working_log_handler(sasl_report_file_h, rabbit_sasl_report_file_h, sasl_report_tty_h, @@ -477,7 +477,7 @@ ensure_working_log_handler(OldFHandler, NewFHandler, TTYHandler, end. log_location(Type) -> - case application:get_env(Type, case Type of + case application:get_env(rabbit, case Type of kernel -> error_logger; sasl -> sasl_error_logger end) of diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl index 7e9ebc4fa2..dacd0de4e0 100644 --- a/src/rabbit_error_logger_file_h.erl +++ b/src/rabbit_error_logger_file_h.erl @@ -45,12 +45,21 @@ init({{File, _}, error}) -> %% log rotation init({File, []}) -> init(File); -init({File, _Type} = FileInfo) -> +init({File, {error_logger, []}}) -> rabbit_misc:ensure_parent_dirs_exist(File), - error_logger_file_h:init(FileInfo); + init_file(File, error_handler); init(File) -> rabbit_misc:ensure_parent_dirs_exist(File), - error_logger_file_h:init(File). + init_file(File, []). + +init_file(File, PrevHandler) -> + process_flag(trap_exit, true), + case file:open(File, [append]) of + {ok,Fd} -> + {ok, {Fd, File, PrevHandler}}; + Error -> + Error + end. handle_event(Event, State) -> error_logger_file_h:handle_event(Event, State). |
