summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit.erl1
-rw-r--r--src/rabbit_error_logger_file_h.erl16
-rw-r--r--src/rabbit_sasl_report_file_h.erl16
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) ->