diff options
| author | Michael Klishin <michael@novemberain.com> | 2016-01-15 02:37:58 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@novemberain.com> | 2016-01-15 02:37:58 +0300 |
| commit | 9a1b1caad973826a074a5f1e2fa25a8c6649832b (patch) | |
| tree | bebe4059a0db7d8f3c49cf041db0d47849195125 /src | |
| parent | d54c06ab2ffd82f6f4d1edb19fd646b84f07ba0e (diff) | |
| parent | dbbe3d6e473fcfaa725e7aa0dda10601b63b9c27 (diff) | |
| download | rabbitmq-server-git-9a1b1caad973826a074a5f1e2fa25a8c6649832b.tar.gz | |
Merge pull request #543 from binarin/rabbitmq-server-rotate-logs-data-loss
Fix 'rabbitmqctl rotate_logs' behaviour
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_error_logger_file_h.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_sasl_report_file_h.erl | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index e4cf7bcbbd..1c4480b3e7 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -442,9 +442,14 @@ environment(App) -> lists:keysort(1, [P || P = {K, _} <- application:get_all_env(App), not lists:member(K, Ignore)]). +rotate_logs_info("") -> + rabbit_log:info("Reopening logs", []); +rotate_logs_info(Suffix) -> + rabbit_log:info("Rotating logs with suffix '~s'~n", [Suffix]). + rotate_logs(BinarySuffix) -> Suffix = binary_to_list(BinarySuffix), - rabbit_log:info("Rotating logs with suffix '~s'~n", [Suffix]), + rotate_logs_info(Suffix), log_rotation_result(rotate_logs(log_location(kernel), Suffix, rabbit_error_logger_file_h), diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl index 9268c10a35..930aead392 100644 --- a/src/rabbit_error_logger_file_h.erl +++ b/src/rabbit_error_logger_file_h.erl @@ -55,6 +55,9 @@ 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. +%% Log rotation with empty suffix should result only in file re-opening. +init({{File, ""}, _}) -> + init(File); %% Used only when swapping handlers in log rotation, pre OTP 18.1 init({{File, Suffix}, []}) -> rotate_logs(File, Suffix), diff --git a/src/rabbit_sasl_report_file_h.erl b/src/rabbit_sasl_report_file_h.erl index 9ba24ab325..9c6d7657f2 100644 --- a/src/rabbit_sasl_report_file_h.erl +++ b/src/rabbit_sasl_report_file_h.erl @@ -36,6 +36,8 @@ %% Used only when swapping handlers and performing %% log rotation +init({{File, ""}, _}) -> + init(File); init({{File, Suffix}, []}) -> case rabbit_file:append_file(File, Suffix) of ok -> file:delete(File), |
