summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlvaro Videla <videlalvaro@gmail.com>2015-09-25 18:02:10 +0200
committerAlvaro Videla <videlalvaro@gmail.com>2015-09-25 18:02:10 +0200
commit4027ba3e49f5ae4371ddda56789150f175d8ca63 (patch)
treefb65f60e0d206bb3e446270f7ab9fe8e5a29248c /src
parent30570ce331f27b9ac33c6d2fa68fe912c3a249a3 (diff)
downloadrabbitmq-server-git-4027ba3e49f5ae4371ddda56789150f175d8ca63.tar.gz
fixes log rotation
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_error_logger_file_h.erl25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl
index 0407838503..ec17a765f3 100644
--- a/src/rabbit_error_logger_file_h.erl
+++ b/src/rabbit_error_logger_file_h.erl
@@ -52,16 +52,13 @@ get_depth() ->
%% lib/stdlib/src/error_logger_file_h.erl from R14B3 was copied as
%% init_file/2 and changed so that it opens the file in 'append' mode.
-%% Used only when swapping handlers in log rotation
+%% Used only when swapping handlers in log rotation, pre OTP 18.1
init({{File, Suffix}, []}) ->
- case rabbit_file:append_file(File, Suffix) of
- ok -> file:delete(File),
- ok;
- {error, Error} ->
- rabbit_log:error("Failed to append contents of "
- "log file '~s' to '~s':~n~p~n",
- [File, [File, Suffix], Error])
- end,
+ rotate_logs(File, Suffix),
+ init(File);
+%% Used only when swapping handlers in log rotation, since OTP 18.1
+init({{File, Suffix}, ok}) ->
+ rotate_logs(File, Suffix),
init(File);
%% Used only when swapping handlers and the original handler
%% failed to terminate or was never installed
@@ -163,3 +160,13 @@ code_change(OldVsn, State, Extra) ->
%%----------------------------------------------------------------------
t(Term) -> truncate:log_event(Term, ?LOG_TRUNC).
+
+rotate_logs(File, Suffix) ->
+ case rabbit_file:append_file(File, Suffix) of
+ ok -> file:delete(File),
+ ok;
+ {error, Error} ->
+ rabbit_log:error("Failed to append contents of "
+ "log file '~s' to '~s':~n~p~n",
+ [File, [File, Suffix], Error])
+ end.