summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-08-12 17:59:06 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-08-12 17:59:06 +0100
commitbec0839acc7deb60abf2ce3762b147ea2fdc83bd (patch)
tree2b85998485aaee1e4dfa7f6653e89faec6560925 /src
parent59d0dcc5d511570a066ec823b2c1fdbed04e808e (diff)
downloadrabbitmq-server-git-bec0839acc7deb60abf2ce3762b147ea2fdc83bd.tar.gz
sasl logger also appends
Removed the "log file not writable" tests because rotate_logs now fixes that problem by deleting the old files.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_error_logger_file_h.erl6
-rw-r--r--src/rabbit_sasl_report_file_h.erl16
-rw-r--r--src/rabbit_tests.erl6
3 files changed, 16 insertions, 12 deletions
diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl
index fbc1c6abb0..519aac10ad 100644
--- a/src/rabbit_error_logger_file_h.erl
+++ b/src/rabbit_error_logger_file_h.erl
@@ -30,8 +30,8 @@
%% Used only when swapping handlers in log rotation
init({{File, Suffix}, []}) ->
case rabbit_misc:append_file(File, Suffix) of
- ok -> file:delete(File),
- ok;
+ ok -> file:delete(File),
+ ok;
{error, Error} ->
rabbit_log:error("Failed to append contents of "
"log file '~s' to '~s':~n~p~n",
@@ -48,7 +48,7 @@ init({File, []}) ->
init(File);
init({File, {error_logger, []}}) ->
rabbit_misc:ensure_parent_dirs_exist(File),
- init_file(File, error_handler);
+ init_file(File, error_logger);
init(File) ->
rabbit_misc:ensure_parent_dirs_exist(File),
init_file(File, []).
diff --git a/src/rabbit_sasl_report_file_h.erl b/src/rabbit_sasl_report_file_h.erl
index 6f3c5c75bc..d45ed3d33d 100644
--- a/src/rabbit_sasl_report_file_h.erl
+++ b/src/rabbit_sasl_report_file_h.erl
@@ -31,7 +31,8 @@
%% log rotation
init({{File, Suffix}, []}) ->
case rabbit_misc:append_file(File, Suffix) of
- ok -> ok;
+ ok -> file:delete(File),
+ ok;
{error, Error} ->
rabbit_log:error("Failed to append contents of "
"sasl log file '~s' to '~s':~n~p~n",
@@ -48,10 +49,19 @@ init({File, []}) ->
init(File);
init({File, _Type} = FileInfo) ->
rabbit_misc:ensure_parent_dirs_exist(File),
- sasl_report_file_h:init(FileInfo);
+ init_file(FileInfo);
init(File) ->
rabbit_misc:ensure_parent_dirs_exist(File),
- sasl_report_file_h:init({File, sasl_error_logger_type()}).
+ init_file({File, sasl_error_logger_type()}).
+
+init_file({File, Type}) ->
+ process_flag(trap_exit, true),
+ case file:open(File, [append]) of
+ {ok,Fd} ->
+ {ok, {Fd, File, Type}};
+ What ->
+ What
+ end.
handle_event(Event, State) ->
sasl_report_file_h:handle_event(Event, State).
diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl
index 5d4aa9d84e..12530292f1 100644
--- a/src/rabbit_tests.erl
+++ b/src/rabbit_tests.erl
@@ -796,12 +796,6 @@ test_log_management() ->
ok = control_action(rotate_logs, [Suffix]),
[true, true] = empty_files([[MainLog, Suffix], [SaslLog, Suffix]]),
- %% original sasl log file is not writable
- ok = make_files_non_writable([SaslLog]),
- {error, {cannot_rotate_sasl_logs, _}} = control_action(rotate_logs, []),
- ok = clean_logs([SaslLog], Suffix),
- ok = add_log_handlers([{rabbit_sasl_report_file_h, SaslLog}]),
-
%% logs with suffix are not writable
ok = control_action(rotate_logs, [Suffix]),
ok = make_files_non_writable([[MainLog, Suffix], [SaslLog, Suffix]]),