diff options
| -rw-r--r-- | src/rabbit.erl | 1 | ||||
| -rw-r--r-- | src/rabbit_error_logger_file_h.erl | 16 | ||||
| -rw-r--r-- | src/rabbit_sasl_report_file_h.erl | 16 |
3 files changed, 27 insertions, 6 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 6376d2ee5f..bf4cb013d2 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -267,6 +267,7 @@ error_log_location(Type) -> wrapper -> gen_event:call(error_logger, rabbit_error_logger_file_h, filename) end of {error, no_log_file} -> tty; + {error, _} -> undefined; File -> File end. diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl index d5c0ab0891..2de861b626 100644 --- a/src/rabbit_error_logger_file_h.erl +++ b/src/rabbit_error_logger_file_h.erl @@ -38,13 +38,23 @@ %% Used only when swapping handlers in log rotation init({{File, Suffix}, []}) -> case rabbit_misc:append_file(File, Suffix) of - ok -> error_logger_file_h:init(File); - Error -> Error + ok -> init(File); + Error -> + case init(File) of + {ok, FInfo} -> + error_logger:error_msg("Error occured while appending " ++ + "~p log file to \"~s\":~n~p~n", + [File, [File, Suffix], Error]), + io:format("~nOrignal log file could not be appended to " ++ + "\"~s\"~n", [[File, Suffix]]), + {ok, FInfo}; + CriticalError -> CriticalError + end end; %% Used only when swapping handlers without performing %% log rotation init({File, []}) -> - error_logger_file_h:init(File); + init(File); init({_File, _Type} = FileInfo) -> error_logger_file_h:init(FileInfo); init(File) -> diff --git a/src/rabbit_sasl_report_file_h.erl b/src/rabbit_sasl_report_file_h.erl index 15f1bfe276..3b8a591ac0 100644 --- a/src/rabbit_sasl_report_file_h.erl +++ b/src/rabbit_sasl_report_file_h.erl @@ -39,13 +39,23 @@ %% log rotation init({{File, Suffix}, []}) -> case rabbit_misc:append_file(File, Suffix) of - ok -> sasl_report_file_h:init({File, sasl_error_logger_type()}); - Error -> Error + ok -> init(File); + Error -> + case init(File) of + {ok, FInfo} -> + error_logger:error_msg("Error occured while appending " ++ + "~p sasl log file to \"~s\":~n~p~n", + [File, [File, Suffix], Error]), + io:format("~nOrignal sasl log file could not be appended " + "to \"~s\"~n", [[File, Suffix]]), + {ok, FInfo}; + CriticalError -> CriticalError + end end; %% Used only when swapping handlers without %% doing any log rotation init({File, []}) -> - sasl_report_file_h:init({File, sasl_error_logger_type()}); + init(File); init({_File, _Type} = FileInfo) -> sasl_report_file_h:init(FileInfo); init(File) -> |
