summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit.erl4
-rw-r--r--src/rabbit_error_logger_file_h.erl15
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).