summaryrefslogtreecommitdiff
path: root/src/rabbit_error_logger_file_h.erl
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert@lshift.net>2008-08-29 15:57:25 +0100
committerHubert Plociniczak <hubert@lshift.net>2008-08-29 15:57:25 +0100
commit32af9f32ba07f59d69f55f759c97696617e665cc (patch)
tree68ca6279b79df577a64d1f38d0b4984e360209b1 /src/rabbit_error_logger_file_h.erl
parent2c7abca856ba0a09170e47049929677c13a1649f (diff)
downloadrabbitmq-server-32af9f32ba07f59d69f55f759c97696617e665cc.tar.gz
When appending the old log file fails always try
to create the handler. This can happen when the file we append to is not writable. Fixed missing case clause.
Diffstat (limited to 'src/rabbit_error_logger_file_h.erl')
-rw-r--r--src/rabbit_error_logger_file_h.erl16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl
index d5c0ab08..2de861b6 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) ->