summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/rabbitmq-server9
-rw-r--r--src/rabbit.erl4
-rw-r--r--src/rabbit_error_logger_file_h.erl15
3 files changed, 16 insertions, 12 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 2f80eb96..e33ae733 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -58,11 +58,6 @@ fi
[ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}.log"
[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS=${SASL_LOGS}
[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}-sasl.log"
-[ "x" = "x$RABBITMQ_BACKUP_EXTENSION" ] && RABBITMQ_BACKUP_EXTENSION=${BACKUP_EXTENSION}
-[ "x" = "x$RABBITMQ_BACKUP_EXTENSION" ] && RABBITMQ_BACKUP_EXTENSION=".1"
-
-[ -f "${RABBITMQ_LOGS}" ] && cat "${RABBITMQ_LOGS}" >> "${RABBITMQ_LOGS}${RABBITMQ_BACKUP_EXTENSION}"
-[ -f "${RABBITMQ_SASL_LOGS}" ] && cat "${RABBITMQ_SASL_LOGS}" >> "${RABBITMQ_SASL_LOGS}${RABBITMQ_BACKUP_EXTENSION}"
RABBITMQ_START_RABBIT=
[ "x" = "x$RABBITMQ_ALLOW_INPUT" ] && RABBITMQ_START_RABBIT='-noinput'
@@ -107,8 +102,8 @@ exec erl \
${RABBITMQ_SERVER_ERL_ARGS} \
${RABBITMQ_LISTEN_ARG} \
-sasl errlog_type error \
- -kernel error_logger '{file,"'${RABBITMQ_LOGS}'"}' \
- -sasl sasl_error_logger '{file,"'${RABBITMQ_SASL_LOGS}'"}' \
+ -rabbit error_logger '{file,"'${RABBITMQ_LOGS}'"}' \
+ -rabbit sasl_error_logger '{file,"'${RABBITMQ_SASL_LOGS}'"}' \
-os_mon start_cpu_sup true \
-os_mon start_disksup false \
-os_mon start_memsup false \
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 46f7d9d1..c855a806 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 7e9ebc4f..dacd0de4 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).